在使用grep從很多檔案中搜尋特定資料串的時候,發現記憶體使用迅速提高,主要是cache的使用占用了相當多的記憶體。在使用下面命令的時候忽視了檔案的數量和檔案大小,導致cache突增。
# grep -e "dst_string"
./*大家在使用shell程式設計的時候一定要注意萬用字元的使用,這裡尤其提醒大家就是星號(*)的使用,星號固然方便,但要適度使用。
這裡主要還是記錄如何手動清理linux記憶體cache,因為上面的操作使用的大量的cache。
1、使用free檢視一下當前記憶體使用情況:
#free
total used free shared buffers cached
mem: 16621896 8967952 7653944 0212352 8377276
-/
+ buffers/cache: 378324 16243572
swap
: 10241428 0 10241428
2、執行sync同步資料
# sync
該命令將未寫的系統緩衝區寫到磁碟中。包含已修改的 i-node、已延遲的塊 i/o 和讀寫對映檔案。
3、清理cache
# echo 3 >
/proc/sys/vm/drop_caches
#free
total used free shared buffers cached
mem: 16621896 579592 16042304 0268 308708
-/
+ buffers/cache: 270616 16351280
swap
: 10241428 0 10241428
4、對比一下加粗部分就清楚了,cache被清理掉了。
清理linux記憶體cache
1.top中的buffers和cached cached快取了對檔案的讀寫,buffers快取了inode,dentry等檔案系統metadata。顯然,metadata大小遠遠小於檔案記憶體,所以buffers一般也遠小於cached。cached的部分叫page cache,buffers的部分...
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,展...