linux清理內存

linux系統一般不需要我們手動釋放內存,必要時也就是釋放緩存的操作。


首先了解下配文件/proc/sys/vm/drop_caches:這個文件記錄了緩存釋放的參數,默認值爲0,也是說不釋放緩存。它的值可以爲0-3之間任意數字,代表着不同的含義:


0 – 不釋放


1 – 釋放頁緩存


2 – 釋放dentries和inodes


3 – 釋放所有緩存


大概瞭解參數後,就剩下操作了。


首先查看系統內存使用情況free -g 這是以GB顯示。

其中第一行用全局角度描述系統使用的內存狀況:
total——總物理內存

used——已使用內存,一般情況這個值會比較大,因爲這個值包括了cache+應用程序使用的內存
free——完全未被使用的內存
shared——應用程序共享內存
buffers——緩存,主要用於目錄方面,inode值等(ls大目錄可看到這個值增加)
cached——緩存,用於已打開的文件

used——已使用
free——未使用


首先我們需要使用sync指令,將所有未寫的系統緩衝區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。否則在釋放緩存的過程中,可能會丟失未保存的文件。


 sync    #將所有未寫入系統緩衝區的數據寫到磁盤中

 echo 2 > /proc/sys/vm/drop_caches    #修改記錄緩存參數,該參數按個人情況修改

  此指令輸入後會立即生效,可以查詢現在的可用內存明顯的變多了

    這時查看內存已恢復正常並修改回默認值。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章