首页 > 百科知识 正文

tmpfs文件系统(tmp什么文件)

时间:2023-11-22 04:40:13 阅读:431 作者:村中卖瓜

tmp什么文件?tmpfs,临时文件系统,是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储,而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了tmpfs是最好的基于RAM的文件系统,今天小编就来说说关于tmp什么文件?下面更多详细答案一起来看看吧!

tmpfs文件系统(tmp什么文件)-第1张

tmp什么文件

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

虚拟内存

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

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

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

# mount tmpfs /mnt/tmpfs -t tmpfs

优势动态文件系统大小

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

速度快

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

使用

默认情况下,tmpfs会mount到/dev/shm目录。使用tmpfs,就是说你可以使用这个目录,这个目录就是tmpfs,如你写临时文件到此目录,这些文件实际上是在VM中。

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

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

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

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

tmpfs /dev/shm tmpfs size=32m 0 0 通过命令mount -t ramfs none /tmp,所有/tmp目录下的写入其实都写在内存中。ramfs文件系统并不知道临时文件系统的可用内存数量该如何限制。 要为/tmp目录设置指定数量内存,使用命令mount -t tmpfs -o size=1G none /tmp。这条命令将分配给/tmp目录1G内存空间。选择tmpsfs可以让管理员通过命令df –h来查看文件空间使用情况,这样可以避免/tmp写入超过1G的内容。 内存文件系统同样可以在服务器重启后自动挂载。在/etc/fstab文件中加入如下配置: none /tmp ramfs size=1g 0 0 在/etc/fstab中,第一列指明了需要被挂载的设备名。因为没有涉及到真实设备,所以在此列将其配置为none。接下来的两列为指定挂在目录与被挂载的文件系统类型,在本例中配置被挂载目录为/tmp,文件系统类型为ramfs。需要为内存文件设置容量参数;在本例中将其设置为1G。因为文件系统并不存在于磁盘上,所以最后两列只需配置参数为0。

版权声明:该问答观点仅代表作者本人。如有侵犯您版权权利请告知 cpumjj@hotmail.com,我们将尽快删除相关内容。