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行,如下圖:
修改后,重新mount tmpfs即可。
mount /dev/shm