使用tmpfs减少Linux服务器上不必要的文件存储
2014-03-25 TechTarget中国 编辑:陈德文
当Linux服务器上的程序需要空间来存储临时文件时,可使用内存文件系统,而无须用到磁盘存储空间。
使用内存文件系统存储不想要的文件有两个好处:它的速度极快,而且可以防止服务器被垃圾文件填满。
内存文件系统可以在很多场景起到用处,比如打印机后台打印目录,或者存储某个重要应用程序创建的运行时环境以及临时文件。在关机后,这些文件没有任何作用,但它们占用空间。
我们称其为内存文件系统,但事实上它是一个可以将其作为真实文件系统对待的假设备,无须将其格式化。只需要连接挂载点到内存,然后文件就可以根据需求时间进行保留。
Linux内核提供两种创建内存文件系统的选项:ramfs与tmpfs。当你学习ramfs后,你就会发现为何tmpfs会更好。
通过命令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。