CentOS修改tmpfs(記憶體檔案系統)
預設安裝的CentOS,已經開啟了tmpfs。tmpfs會使用記憶體,如果記憶體用完,會用swap空間。調整tmpfs大小,別超過記憶體+swap的大小。如果系統資源緊張,用完了記憶體,用到swap時,tmpfs的效率就大幅度降低了。所以不妨多安裝些記憶體,反正記憶體價格也沒多貴。tmpfs是記憶體檔案系統,類似於DOS年代的ramdisk,mount上去就能用了,不需要用mkfs之類的命令來初始化。
# cat /etc/fstab
LABEL=// ext3defaults1 1
LABEL=/home /home ext3defaults1 2
LABEL=/boot1 /boot ext3defaults1 2
tmpfs /dev/shm tmpfsdefaults0 0
devpts /dev/pts devptsgid=5,mode=6200 0
sysfs /syssysfsdefaults0 0
proc /proc procdefaults0 0
LABEL=SWAP-sda3 swap swapdefaults0 0
其中tmpfs那一行,就是開啟tmpfs。在tmpfs裡存放的檔案,讀寫非常快,畢竟直接讀取記憶體,當然比讀取磁碟快多了。tmpfs裡的檔案,重啟後就沒了。適合存放session,或其他臨時性的檔案。可以大幅度提供讀寫速度。
4G的記憶體,系統預設為開2G的tmpfs空間。
12G的記憶體,系統預設開6G的tmpfs空間。就是說,預設開一半的記憶體空間來給tmpfs。
可以使用 shm_open,shm_unlink等方法來操作tmpfs。
查看tmpfs大小:
#df -h /dev/shm
Filesystem SizeUsed Avail Use% Mounted on
tmpfs2.0G24K2.0G1% /dev/shm
修改tmpfs大小
修改/etc/fstab 檔案中的tmpfs那一行:
tmpfs /dev/shm tmpfs defaults,size=8192M0 0
然後重新載入tmpfs。
# umount /dev/shm; mount /dev/shm; df -h /dev/shm
FilesystemSizeUsed Avail Use% Mounted on
tmpfs 8.0G 08.0G0% /dev/shm