代码改变世界

Linux下tmpfs介绍与使用

2014-10-18 18:00  commandow  阅读(9529)  评论(5编辑  收藏  举报

1 Tmpfs是什么

tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储 暂存的文件。

优势 :

1、 动态文件系统的大小。

2、tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的tmpfs文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点tmpfs数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

注意:tmpfs不具备持久性,重启后数据不保留,请务必注意。

2 Tmpfs大小调整

有时候,当应用程序使用到Tmpfs时,而在部署的时候如果没有对应用程序占用的内存做足够的评估时,就有可能把Tmpfs用满,这个时候就需要调整Tmpfs的大小了,当然,调整的大小不能大于你机器内存大小,否则,你只能换机器了,又或是优化你的应用程序。

可以看到tmpfs的大小为3G,比如我们想调整到5G。

1) umount tmpfs

在这里要注意,由于umount会把卸载tmpfs文件系统,意味着你的应用程序使用的共享内存将会被删除,如果数据较重要,在umount前记得备份。

root@TENCENT64 /dev]# umount /dev/shm
umount: /dev/shm: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

 

这里可以看到,umount失败了,原因比较明显,/dev/shm被其它进程使用了,所以在umount前需要把使用/dev/shm的所有进程都停掉。

如错误说明,可以使用fuser –km /dev/shm命令把加载的进程都kill掉,再进行umount

fuser –km /dev/shm
umount /dev/shm

 

2) 调整tmpfs的大小

通过修改/etc/fstab文件来修改/dev/shm的容量,在文件中修改tmpfs行,如下图:

0 0

修改后,重新mount tmpfs即可。

mount /dev/shm