閱讀624 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go  “數據智能”加速中國產業轉型出海
  下一篇:go  “數加”斬獲2017軟博會金獎