linux之tmpfs


1、概述

 tmpfs是ramfs的衍生品,ramfs是基於RAM的文件系統,不能使用swap空間;tmpfs可以動態釋放空間、可以使用swap空間。ramfs不能控制使用內存的大小容易使內存爆掉;而tmpfs可以在mount的時候指定size來控制使用內存的大小,不會導致系統崩潰。tmapfs是存儲在VM的文件系統,VM是linux的虛擬內存,由RM(物理內存)和swap組成。RM的讀寫性能優於swap,swap是物理磁盤虛擬出來的內存空間。具體tmpfs使用的是RM還是swap是不可控的,

這是由linux內核的vm子系統管理的。

tmpfs默認是物理內存大小的一半,比如物理內存是32G,那么tmpfs就是16G。這部分內存空間他並不會完全占用,只有掛載存儲文件后才會占用相應大小的空間,例如

16G的tmpfs文件系統,存放了200M的文件那么它就只占用了200M的內存空間,其他的空間還是可以被其它程序調用。當刪除了文件后,系統會動態的將文件占用的那部分內存進行回收。

 

2、使用

由於項目中用到高io、對讀寫性能要求都比較高,磁盤就不能滿目需求,此時可以將這部分數據放到tmpfs,但是要確定數據不會是內存爆掉!自行估算,tmpfs默認使用一般的內存,如32G的內存,tmpfs會占用16G,當然可以mount時通過size參數指定大小。tmpfs是存儲在虛擬內存的,所以不需要mkfs,直接掛載就可以使用:

#mount -t tmpfs  -o  size=16g  tmpfs  /data/spark-tmp

為了方便使用,添加到/etc/fstab自動掛載。

#vim  /etc/fstab

tmpfs       /data/spark-tmp    tmpfs      defaults,size=16g    0  0

 

3、對tmpfs進行擴容

可以直接寫到/etc/fstab文件里面,通過size修改tmpfs的大小,size必須是整數。

#vim  /etc/fstab

tmpfs       /data/spark-tmp    tmpfs      defaults,size=19g    0  0

 

#mount  -o  remount  /data/spark-tmp

 

4、優缺點

優點:

1)可以動態調整大小; 2)能使用swap空間

缺點:

斷電重啟或者umount  tmpfs都會使數據丟失。

 

5、使用建議

適合存儲socket、session等,對於高io的臨時數據也可以選擇進行存儲,對於高io並且還需要持久化到磁盤的,需要通過其他手段,tmpfs可以提高linux系統的性能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM