RAMFS和TMPFS两种文件系统

android系列-init 挂载文件系统 android init 挂载文件系统 阅读详情

TMPFS和RAMFS是两种类型的文件系统,可以动态改变大小。非传统的虚拟磁盘,而传统的虚拟磁盘是个块设备。需要mkfs之后才可以使用。

Overview:

Using in-memory fs you can allocate part of physical memory to be used as a harddisk partition. You can mount this partition and start writing and reading files like a harddisk partition, it will be much faster for sure. When a vital process becomes drastically slow because of disk writes, you can choose either ramfs or tmpfs file systems for writing files to the RAM.

Both tmpfs and ramfs mount will give you the power of fast reading and writing files from and to the primary memory. When you test this on a small file, you may not see a huge difference. You’ll notice the difference only when you write large amount of data to a file with some other processing overhead such as network.

 

How to mount Tmpfs and Ramfs

# mkdir -p /mnt/{tmp,ram}
# mount -t tmpfs -o size=50m tmpfs /mnt/tmp  (mount命令的使用mount -t type dev dir)

  (然后通过df命令或者mount命令查看是否已经mount上,其它用法

   mount -o size=1500M -o nr_inodes=1000000(设innodes) -o remount /dev/shm )
# mount -t ramfs -o size=50m ramfs /mnt/ram
   (然后通过mount命令查看是否已经mount上)

You can mount ramfs and tmpfs during boot time by adding an entry to the /etc/fstab or execute the above mount command when starting your system.可以通过在/etc/fstab文件中或者在系统启动时执行上述两条命令。

 

Difference between Ramfs and Tmpfs
Generally ramfs and tmpfs does the same thing with few minor differences.

* Ramfs will grow dynamically. So, you need control the process that writes data to make sure ramfs doesn’t exhaust all avaliable RAM in your system, otherwise an OOM will occure which might cause some potential damage. Assume that you have 2GB of RAM and created a 1 GB ramfs and mounted as /mnt/ram. When the total size of the /mnt/ram crosses 1GB, you can still write data to it. System will not stop you, when it goes above total RAM size of 2GB, the system may hang, as there is no RAM for other operation.RAMFS类型的文件系统,即使使用的空间超过设置,仍然可以继续使用内存,直到内存耗尽。

 

* Tmpfs will not grow automatically. It’s more like a harddisk partition. It does not allow you to write more data to the mounted tmpfs. When you try to write more data the specified limit, It’ll output errors like this:
# cp 20mb.tgz /mnt/tmp
cp: writing `/mnt/tmp/20mb.tgz’: No space left on device.TMPFS类型的文件系统,可以使用的空间受到之前设置的限制。

/dev/shm 是linux下的一块共享内存结构(是TMPFS类型)。默认最大为内存的一半大小.其实它的实际大小可以设置为(物理内存的一半+swap).好多人都把它和swap给混淆了,这是两个不同的概念.但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的。 /dev/shm用来存储进程间通讯时的一些共享数据结构..例如Oracle11G的ASMM(Automatic Shared Memory Management)就用/dev/shm进行通讯和数据共享. DBA在进行11G配置时需要考虑MEMORY_MAX_TARGET和MEMORY_TARGET参数不能大于/dev/shm.否则在数据库启动时有可能会产生ORA-00845.

/dev/shm通常在物理内存足够时,会在内存中进行数据交换,如果物理内存缺乏时,会用swap进行数据交换. 支持动态在线调整.在我们需要时可以增加或缩减它的大小.

 

* Ramfs does not use swap while Tmpfs uses.RAMFS只能使用内存,不能使用swap空间。TMPFS可以使用内存也可以使用swap。Ramfs被限制最多可使用内存大小的一半。

 

Ramfs and Tmpfs Disadvantages
Since both ramfs and tmpfs is writing to the system RAM, it would get deleted once the system gets rebooted, or crashed. If the data is critical, you should write a script to pick up the data from ramfs/tmpfs to disk in periodic intervals, and another script to write down the data from ramfs/tmpfs to disk while the system is shutting down. But, this doesnt help you when system crash. RAMFS和TMPFS文件系统上写入的数据,在系统重启/crash后都不能保存。除非自己写脚本来定期把数据写入磁盘。

 

Table: Comparison of ramfs and tmpfs
Experimentation Tmpfs Ramfs
Fill maximum space and continue writing Will display error Will continue writing
Fixed Size Yes No
Uses Swap Yes No
Volatile(易变的, 无长性的,无定性的)Storage Yes Yes

 

If you want your process to write faster, opting for tmpfs is better, frankly it’s mostly used to store php sessions.推荐使用TMPFS。

转自:http://blog.sina.com.cn/s/blog_53014b290100q42l.html

编译速度优化文件1 加快刚开始make时候的推进速度 立即下载

相关推荐

【HDL系列】除法器(3)——基2 SRT算法

目录 一、除法表示 二、数字递归算法基础公式 三、QDS(Quotient Digit Selection)函数 四、基2 SRT算法 一、除法表示 除法被定义如下: 其中,x是被除数,d是除数,q是商,rem是余数。 商的精度由ulp(unit of last position)来决定: 如果ulp=1, 商q则是整数; 如果ulp=r^(-n),n是商数个数,r是所有输入操作数的基,此时商为小数。 二、数字递归算法基础公式 在使用数字递归算法(Digit Re...

纸上谈芯的专栏 8155

【Android 4.4】内存文件系统(tmpfs)的创建与使用

前言说明 某些情况下,需要缓存一些文件到磁盘中,我们可以借助 tmpfs 文件系统,来提升读写缓存文件的速度,并且也可以避免频繁读写缓存文件所带来的对 flash 的寿命影响。 使用方法 通过 mkdir 创建一个文件夹作为分区挂载点,再通过 mount 命令挂载指定大小的tmpfs 类型分区到该挂载点上。 mkdir /data/tmpfs mount -t tmpfs -o size=100M tmpfs /data/tmpfs 测试方法 挂载前内存可用大小(约205MB) 挂载大.

lovemengx的博客 2834

抖音直播间人气接口算法 抖音协议

抖音直播间人气接口算法 抖音协议 抖音算法

Q44804487的博客 1万+

Android12之解析/proc/pid进程参数(一百六十四)

本篇目的:如何获取/proc/pid当前进程的各种参数。

Android系统攻城狮 1684

Vue 10分钟入门VR全景显示 基于photo-sphere-viewer

文章目录前言一、引入photo-sphere-viewer?二、使用步骤1.引入库2.声明容器3.内容加载4.全部代码总结 前言 由于工作的需求,要实现全景图片的展示与预览,本来以为会是一个很难的内容,没想到使用现成的组件photo-sphere-viewer就可以轻松实现,上手只需要10分钟! 一、引入photo-sphere-viewer? 可以直接通过npm进行引入 npm install photo-sphere-viewer 二、使用步骤 1.引入库 photo-sphere-viewer

YIGE_MO的博客 5865

手把手教你用EGM96模型校正DEM数据(含在线工具推荐)

本文详细介绍了如何使用EGM96地球重力场模型校正DEM数据中的高程偏差。通过对比WGS84椭球面与大地水准面的差异,解释了校正原理,并提供了从在线工具快速验证到Python脚本批量处理的全流程实战指南,帮助GIS开发者和数据分析师确保高程数据基准一致,提升空间分析精度。

ttt77的博客 1007

Android手机内存监控常用命令及参数解释

Android手机内存监控命令

okk 4692

DeepSeek高阶应用:DeepSeek+Coze构建智能文献综述与趋势分析自动化系统

本文详细介绍了如何利用DeepSeek与Coze构建智能文献综述与趋势分析自动化系统。通过DeepSeek的深度语义理解和结构化信息提取能力,结合Coze的可视化工作流编排,实现学术论文的自动解析、分类整理与知识入库。该系统能7x24小时自动追踪领域前沿,将研究人员从繁琐的文献处理中解放出来,专注于更高层次的思考与创新。

weixin_29050271的博客 179

Android 进程间通信,Ashmem共享内存基本使用

Android 提供了几种进程间通信的方式,除了Socket,基本都是基于binder实现的。为什么要用共享内存来实现呢?因为binder传输数据被限制在1M,在较大的数据交换一般会使用文件,但效率非常的低,因此使用共享内存是很好的方式。在内存中开辟一块空间,通过binder或者其他方式将fd(文件描述符)传递到客户端或服务端进程,从而实现大文件传输 其中Android提供了封装好的MemoryFile对象,供使用。 具体实现 一,服务端 1,首先在APP内部存储中存放一张图片:路径 data/dat.

baidu_29483093的博客 2385

虚幻UE 增强输入-触发器

输入触发器(UInputTrigger): 使用经过修饰器修改的输入值,或者使用其他输入动作的输出值,来确定是否激活输入动作。

UE成长之路,欢迎大家的关注! 5464

倾斜摄影与地面激光点云融合高精度建模研究

本文研究了倾斜摄影与地面激光点云融合精细化建模技术,并通过相应的源代码实现了建模过程。该方法将倾斜摄影和激光扫描相结合,能够获得高精度的三维建模结果,为相关领域的研究和应用提供了有力支持。近年来,倾斜摄影和激光扫描技术的快速发展为高精度三维建模提供了新的机遇和挑战。本文针对倾斜摄影与地面激光点云融合建模这一前沿领域展开研究,旨在通过相应的源代码实现精细化的建模过程。同时,使用激光扫描仪进行地面激光扫描,获取地面的点云数据。经过数据融合和精细化建模处理后,我们获得了高精度的三维建模结果。

LpmShell的博客 1245

ramfs linux,Linux的tmpfs和ramfs

tmpfstmpfs是一种虚拟内存文件系统, 它的存储空间在VM里面,现在大多数操作系统都采用了虚拟内存管理机制, VM(Virtual Memory) 是由Linux内核里面的VM子系统管理. VM的大小由RM(Real Memory)和swap组成, RM就是物理内存, swap是通过硬盘虚拟出来的内存空间, 大小是可以配置的. swap的读写速度相对RM(Real Memory)要慢许多. ...

weixin_29297127的博客 541

详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署

本文给大家带来是利用RT-DETR模训练自己的数据集,RT-DETR是一种新提出的目标检测模型,它利用的自注意力机制来处理图像数据。不同于YOLO通过连续的卷积层直接对图像区域进行分析,RT-DETR采用Transformer架构中的自注意力机制,这允许模型更有效地理解图像中不同部分之间的关系。这种方法使得RT-DETR在处理图像中的复杂场景和多对象环境时,能够展现出更高的准确性和效率。此外,RT-DETR在保持高精度的同时,也针对实时处理进行了优化,使其适合需要快速响应的应用场景。

Snu77的博客 6万+

[用户态内存] 共享内存1---tmpfs和ramfs

文章目录1.ramfs2.tmpfs3 ramfs和tmpfs性能对比和异同 1.ramfs ramfs是Linux下一种基于RAM做存储的文件系统,由于ramfs的实现就相当于把RAM作为最后一层的存储,所以在ramfs中不会使用swap。linux os看ramfs就像看普通硬盘一样,所以ramfs有一个较大缺陷就是它会吃光os的内存,哪怕你在mount时已经指定了该ramfs的大小。由于上述缺陷,ramfs只能root用户访问。 ramfs创建 mkdir -p /dev/myRamFs mount

菁的博客 1528

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ramdisk,ramfs和tmpfs

1, ramfs不是ramdisk   ramdisk是在一块内存区域中创建的块设备,用于存放文件系统。ramdisk的容量是固定的,不能象ramfs一样动态增长。ramdisk需要内核的文件系统驱动程序(如ext2)来操作其上的数据,而ramfs则是内核的天然特性,无需额外的驱动程序。ramdisk也象其他文件系统设备一样,需要在块设备和内存中的磁盘高速缓存之间复制数据,而这种数据复制实际不

1491

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux下tmpfs与ramfs的对比分析

最近看到一篇文章介绍说用内存做MySQL的tmpdir能解决MySQL在使用磁盘临时表性能低的棘手问题,作者建议用tmpfs(常见的还有ramfs)。首先我觉觉得这个想法不错,但是局限性比较大,因为线上总会有些操作需要创建很大的临时表(虽然这样的次数可能不多),如果做一个很大内存的tmpfs那么显然浪费内存,如果做一个较小内存的tmpfs那么对于需要建大临时表的的操作会因为磁盘空间不够失败(比如a

I'm lovin' it 4179

浅谈arm linux下 tmpfs/ramfs/ramdisk

一、基本概念 1.tmpfs Tmpfs是一个虚拟内存文件系统,它不同于传统的用块设备形式来实现的Ramdisk,也不同于针对物理内存的Ramfs。 Tmpfs可以使用物理内存,也可以使用交换分区。在Linux内核中,虚拟内存资源由物理内存(RAM)和交换分区组成,这些资源是由内核中的虚拟内存子系统来负责分配和管理。 Tmpfs向虚拟内存子系统请求页来存储文件,它同...

coolperl的博客 684

linux tmpfs作用,linux ramfs和tmpfs区别及用法介绍

ramfs是Linux下一种基于RAM做存储的文件系统。在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储效率。由于ramfs的实现就相当于把RAM作为最后一层的存储,所以在ramfs中不会使用swap。你什么时候听过会把HDD上的文件swap到哪里去吗?平常说的swap都是针对内存来说的,而ramfs底层的...

weixin_36160268的博客 709

ramfs 和 tmpfs

http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/ Using ramfs or tmpfs you can allocate part of the physical memory to be used as a partition. You can mount this partiti

914

Linux下tmpfs与ramfs的区别

转自:http://www.linuxidc.com/Linux/2012-11/74356.htm ramfs是Linux下一种基于RAM做存储的文件系统。在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储效率。由于ramfs的实现就相当于把RAM作为最后一层的存储,所以在ramfs中不会使用sw

牛晨光的博客 1万+

ramfs, tmpfs,ramdisk区别

//https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt 什么是ramfs? ramfs是一个简单的文件系统,它是基于ram的动态文件系统的一种Linux硬盘缓冲机制。 一般的在Linux上所有的文件都被缓冲在内存中。内存中的数据页在回写后仍然会保存在内存中以防再次使用,但是回写后的数据

awkwardgirl的专栏 8981

linux ramfs使用方法,Ramfs与Tmpfs的使用

Ramfs与Tmpfs的使用发布时间:2008-10-03 10:18:11来源:红联作者:gxllbatmpfs 文档系统,请键入: # mount tmpfs /dev/shm -t tmpfs -o size=32m命令的等价功能添加到 /etc/fstab,应该是这样: tmpfs /dev/shm tmpfs size=32m 0 0Ramfs顾名思义是内存文档系统,他工作于虚拟文档系统...

weixin_35092037的博客 702

[转] Ramfs与Tmpfs的使用

题:[转] Ramfs与Tmpfs的使用     在用live模式下的ubuntu批量下载,分出的系统空间太小,不大方便,所以就再专门分出内存下载,但是如果不设置大小的话,系统不会识别剩余内存量,于是就会出现因为内存满满而卡掉。      转载出处:http://hi.baidu.com/shanyefeng/blog/item/58a77688aa4a769fa5c27200.htm

temp77J 的专栏 761

ramfs, ramdisk, tmpfs

ramfs是什么 ramfs是一个非常简单的文件系统,它输出Linux的磁盘缓存机制(页缓存和目录缓存)作为一个大小动态的基于内存的文件系统。 通常,所有的文件由Linux被缓存在内存中。页的数据从后备存储(一般被挂载的是块设备文件系统)中读取,这些数据保持在周围以防再次需要。但是这些数据被标记为可用(空闲)以防虚拟内存系统(Virtual MemorySystem)需要这些内存作为别

bytxl的专栏 1235

Linux的tmpfs和ramfs

tmpfs tmpfs是一种虚拟内存文件系统, 它的存储空间在VM里面,现在大多数操作系统都采用了虚拟内存管理机制, VM(Virtual Memory) 是由Linux内核里面的VM子系统管理. VM的大小由RM(Real Memory)和swap组成, RM就是物理内存, swap是通过硬盘虚拟出来的内存空间, 大小是可以配置的. swap的读写速度相对RM(Real Memory)要慢许多...

IOsetting的专栏 579
上一篇: 网页中的编码问题,编码转换问题,以及file_get_contents
下一篇: 关于swap,虚拟内存和page的区别
simonjay2007
博客等级 码龄17年 104粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值