清理linux記憶體cache

2021-07-10 13:07:24 字數 934 閱讀 5659

1.top中的buffers和cached

cached快取了對檔案的讀寫,buffers快取了inode,dentry等檔案系統metadata。顯然,metadata大小遠遠小於檔案記憶體,所以buffers一般也遠小於cached。cached的部分叫page cache,buffers的部分叫buffer cache

2.控制cache

linux對cache的使用沒有規定上限,因為,物理記憶體不是拿來看的,而是拿來用的。只要當需要的時候,這部分記憶體還可以還回去就行!

3.使用free檢視一下當前記憶體使用情況:

# free

total used free shared buffers cached

mem: 16621896 8967952 7653944 0 212352 8377276

-/+ buffers/cache: 378324 16243572

swap: 10241428 0 10241428

4.執行sync同步資料

# sync

該命令將未寫的系統緩衝區寫到磁碟中。包含已修改的 i-node、已延遲的塊 i/o 和讀寫對映檔案。

5.清理cache

向/proc/sys/vm/drop_caches檔案中寫入數值可以使核心釋放page cache,dentries和inodes快取所佔的記憶體。

只釋放pagecache:

echo 1 > /proc/sys/vm/drop_caches

只釋放dentries和inodes快取:

echo 2 > /proc/sys/vm/drop_caches

釋放pagecache、dentries和inodes快取:

echo 3 > /proc/sys/vm/drop_caches

這個操作不是破壞性操作,髒的物件(比如髒頁)不會被釋放,因此要首先執行sync命令。

清理linux記憶體cache

在使用grep從很多檔案中搜尋特定資料串的時候,發現記憶體使用迅速提高,主要是cache的使用占用了相當多的記憶體。在使用下面命令的時候忽視了檔案的數量和檔案大小,導致cache突增。grep e dst string 大家在使用shell程式設計的時候一定要注意萬用字元的使用,這裡尤其提醒大家就是...

linux清理快取cache

linux伺服器有自己先進的記憶體管理機制,有時候會發現我們系統的buff cache記憶體占用會越來越高,作業系統也有卡頓的情況,遇到這種情況,不妨試試下面的方法。步驟一 我們先使用free m檢視記憶體占用情況,可以看到記憶體中大部分記憶體被buff cache占用,free記憶體已經剩餘400...

Linux記憶體清理

第一類單位引數 1 b,bytes,以byte為單位顯示記憶體使用情況 2 k,kilo,以kb為單位,這也是預設值 3 m,mega,以mb為單位顯示內容使用情況 4 g,giga,以gb為單位顯示記憶體使用情況 第二類引數 1 h,human,自動將數值轉換為人類易讀形式 2 c,count,展...