tmpfs詳解
查看磁盤掛載命令是df -hT,我們使用此命令除了會查看到係統盤以及數據盤具體掛載情況,還會看到一個tmpfs也在掛載。
[root@iZ2zeg413r63lhzmigi1y2Z ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 1.1G 37G 3% /
[root@iZ2zeg413r63lhzmigi1y2Z ~]# free -m
total used free shared buffers cached
Mem: 124 872 0 7 57
-/+ buffers/cache: 59 936
Swap: 0 0 0Swap: 2064376 0 2064376
查看tmpfs大小是499M, 和內存大小相比,約為內存的一半。df查看到tmpfs,是掛載到/dev/下的shm目錄,tmpfs是一個臨時文件係統,駐留在內存中,所以/dev/shm/這個目錄不在硬盤上,而是在內存裏。因為是在內存裏,所以讀寫非常快,可以提供較高的訪問速度。linux下,tmpfs默認最大為內存的一半大小,使用df -h命令剛才已經看到了,但是這個df查看到的掛載內存大小的數值,如果沒有使用,是沒有去真正占用的,隻有真正在tmpfs存儲數據了,才會去占用。比如,tmpfs大小是499M,用了10M大小,內存裏就會使用真正使用10M,剩餘的489M是可以繼續被服務器其他程序來使用的。
但是因為數據是在內存裏,所以斷電後文件會丟失,內存數據不會和硬盤中數據一樣可以永久保存。了解了tmpfs這個特性可以用來提高服務器性能,把一些對讀寫性能要求較高,但是數據又可以丟失的這樣的數據保存在/dev/shm中,來提高訪問速度。
我們還可以根據實際需要去調整tmpfs文件的大小。
[root@iZ2zeg413r63lhzmigi1y2Z shm]# mount -o remount,size=777M tmpfs /dev/shm
[root@iZ2zeg413r63lhzmigi1y2Z shm]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 1.1G 37G 3% /
這種修改是臨時修改,重啟後會恢複正常,恢複為內存一半大小。
永久修改可以
vim /etc/fstab
把tmpfs這一行改為:
tmpfs /dev/shm tmpfs defaults,size=777M 0 0
重啟會自動掛載為777M大小,永久生效。
最後更新:2017-07-03 14:02:32