你了解Linux下的tmpfs文件系统?

tmpfs是一种基于内存的文件系统,它和虚拟磁盘r     amd   isk比较类似像,但不完全相同,和     ram   disk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。

 你了解Linux下的tmpfs文件系统?_设计制作_嵌入式技术

    Linux   内核的虚拟内存(virtual memory ,VM)资源同时来源于您的RAM(物理内存)和交换分区(swap)。内核中的VM子系统负责在后台管理这些资源,通常是透明地将RAM页移动到交换分区或从交换分区到RAM页。

tmpfs文件系统需要VM子系统的页面来存储文件。tmpfs自己并不知道这些页面是在交换分区还是在RAM中;做这种决定是内核中的VM子系统的工作。tmpfs文件系统所知道的就是它正在使用某种形式的虚拟内存。

不同于大多数“标准的”文件系统,如ext3、ReiserFS和其它一些系统,tmpfs并不是存在于一个底层块设备上面。因为tmpfs是直接建立在VM之上的,您用一个简单的mount命令就可以创建tmpfs文件系统了。

# mount -t tmpfs -o size=64M tmpfs /dev/shm

/mnt/tmpfs最初会只有很小的空间,但随着文件的复制和创建,tmpfs文件系统驱动程序会分配更多的 VM,并按照需求动态地增加文件系统的空间。而且,当 /mnt/tmpfs 中的文件被删除时,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源,这样做可以将 VM 返回到循环当中以供系统中其它部分按需要使用。因为 VM 是宝贵的资源,所以您一定不希望任何东西浪费超出它实际所需的 VM,tmpfs 的好处之一就在于这些都是自动处理的。

假如tmpfs的挂载点目录下什么也没有,tmpfs并不占用VM。上面的参数64M只是告诉内核这个挂载点最大可用的VM为20M,如果不加上这个参数,tmpfs默认的大小是RAM的一半,假如你的物理内存是128M,那么tmpfs默认的大小就是64M。

tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。即使用了一些交换分区,性能仍然是卓越的,当更多空闲的 VM 资源可以使用时,这部分 tmpfs 文件系统会被移动到 RAM 中去。让 VM 子系统自动地移动部分 tmpfs 文件系统到交换分区实际上对性能上是好的,因为这样做可以让 VM 子系统为需要 RAM 的进程释放空间。这一点连同它动态调整大小的能力,比选择使用传统的 RAM 磁盘可以让操作系统有好得多的整体性能和灵活性。

默认情况下,tmpfs会mount到/dev/shm目录。使用tmpfs,就是说你可以使用这个目录,这个目录就是tmpfs,如你写临时文件到此目录,这些文件实际上是在VM中。 由于它的数据是在VM里面,因此断电或者你卸载它之后,数据就会立即丢失,这也许就是它叫tmpfs的原故。

要使用tmpfs,您要在内核配置时,启用“Virtual memory file sys     te   m support”。

为防止tmpfs使用了全部VM,有时候要限制其大小。要创建一个最大为32 MB的tmpfs文件系统,键入:

# mount    -t tmpfs -o size=32m  tmpfs /dev/shm

添加到 /etc/fstab,应该是这样:

tmpfs /dev/shm tmpfs size=32m 0 0



83
34
0
33

相关资讯

  1. 1、新浪微博怎么消除图片水印?消除新浪微博图片水印的教程1151
  2. 2、电脑显示器的色温多少比较合适?3769
  3. 3、腾讯手游助手怎么在线更新?腾讯手游助手在线更新方法简述1852
  4. 4、Win10没有关机选项怎么办?Win10没有关机选项的解决方法2956
  5. 5、乐秀怎么加快视频速度?乐秀加快视频速度的方法2064
  6. 6、铁路12306怎么开通指纹登录?4个步骤教你开启指纹登录!707
  7. 7、Win10系统如何打出方括号?打出方括号的方法530
  8. 8、手机qq怎么创建群聊?2819
  9. 9、腾讯手游助手帮助中心怎么打开?腾讯手游助手帮助中心进入方法369
  10. 10、WPS文档序列码乱了怎么重新排序?3587
全部评论(0)
我也有话说
0
收藏
点赞
顶部