把linux制作成内存系统,把内存当硬盘,提速你的linux系统
場景:電腦內存太大用不了那么多,空著浪費,所以利用起來。內存讀寫速度高用來緩存或者編譯,甚至存臨時文件最好不過了~~
Windows下有一種叫法叫做內存盤,Linux自然也有,看了Linux中ramdisk,tmpfs,ramfs比較與說明這篇文章后,決定使用tmpfs文件系統。
關于tmpfs和VM
linux的內存(VM),包括ram和swap兩部分。
ram就是你的物理內存,swap就是在裝系統的時候劃分的swap分區(在win下叫做頁面文件,默認位于C:\pagefiles.sys)。
VM也是程序所能使用的最大內存上限,tmpfs本質上也是VM,tmpfs劃出VM的部分頁面作為一個文件系統.
關于tmpfs和ramdisk
linux下的ramdisk是由內核提供的,要使用之,mount命令掛載即可。不需要第三方工具。但因為它會被視為塊設備,所以仍然需要格式化該文件系統。
ramdisk一旦創建就會占用固定大小的物理內存,tmpfs則是動態分配。
tmpfs的優點
因為tmpfs是建立在VM上的,而不是物理磁盤上,所以不需要格式化就可以使用,所以不用嘗試mkfs.tmpfs了,沒有這條命令。
tmpfs的大小是動態的,用多少才分配多少,刪除文件則會釋放相應的VM空間,=.=這一點非常令人激動。
當您的物理內存不足以支撐分配為tmpfs的大小時,它會自動使用swap的頁面。
tmpfs大部分時間是駐留在物理內存中,這使得其讀寫速度超快。
tmpfs的缺點:
tmpfs的先天優勢變成了他的先天劣勢:
內存的特性導致位于tmpfs上的數據斷電會丟失。
相比較硬盤的價格來說,內存無疑還是很昂貴的,所以用tmpfs的目錄不要放太大的東西。
tmpfs的用途
程序運行產生的臨時文件,我覺得tmpfs天生就是為tmp目錄設計的。
編譯時的緩存目錄,用內存來做真是再好不過。
tmpfs的用法
mount tmpfs /tmp -t tmpfs -o size=1024m
1024不是固定的,實際大小根據你的實際情況定,比如可以在系統開了很長時間很大負載的時候看看(空閑的內存和swap)一共還有多少,最好不要超過這個值。
這里必須有mount權限,可以用sudo來獲得權限,’size=’指定tmpfs動態大小的上限,如果/tmp目錄(即將使用的)大小超過指定大小,一樣會提示你空間不足。
之所以不推薦這樣做,是因為mount之后/tmp會被立即清空,如果你有程序有在/tmp中打開的文件(比如socket),會出錯,而且每次都要手動掛載,多麻煩(=.=#)。
基于以上原因,最好還是編輯/etc/fstab文件來讓系統啟動時幫你搞定。
推薦方法如下:
sudo gedit /etc/fstab
在最后添加如下內容:
mount tmpfs in /tmp/
tmpfs /tmp tmpfs size=1024m 0 0
保存,關閉,然后在下次啟動時你就用上tmpfs了。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的把linux制作成内存系统,把内存当硬盘,提速你的linux系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux日志文件备份,linux配置文
- 下一篇: linux之find命令,Linux基础