8.內存free/available區別


free -h  查看內存大小
 

free 與 available 的區別

free 是真正尚未被使用的物理內存數量。
available 是應用程序認為可用內存數量,available = free + buffer + cache (注:只是大概的計算方法)

Linux 為了提升讀寫性能,會消耗一部分內存資源緩存磁盤數據,對於內核來說,buffer 和 cache 其實都屬於已經被使用的內存。但當應用程序申請內存時,如果 free 內存不夠,內核就會回收 buffer 和 cache 的內存來滿足應用程序的請求。這就是稍后要說明的 buffer 和 cache。

buff 和 cache 的區別

buffer名為緩沖,cache名為緩存。

 

 

cache:文件系統層級的緩存,從磁盤里讀取的內容是存儲到這里,這樣程序讀取磁盤內容就會非常快,比如使用grep和find等命令查找內容和文件時,第一次會慢很多,再次執行就快好多倍,幾乎是瞬間。但如上所說,如果對文件的更新不關心,就沒必要清cache,否則如果要實施同步,必須要把內存空間中的cache clean下

buffer:磁盤等塊設備的緩沖,內存的這一部分是要寫入到磁盤里的。這種情況需要注意,位於內存buffer中的數據不是即時寫入磁盤,而是系統空閑或者buffer達到一定大小統一寫到磁盤中,所以斷電易失,為了防止數據丟失所以我們最好正常關機或者多執行幾次sync命令,讓位於buffer上的數據立刻寫到磁盤里。



 
 


免責聲明!

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



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