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,展...