關於linux記憶體cached過高釋放一例

2021-09-20 06:16:26 字數 851 閱讀 1320

今天在做zabbix硬體監控的時候,老是出現段錯誤的提示,仔細檢查發現原來是是不是我的記憶體不夠了呢:

引數說明:

total : 物理記憶體的總大小

used :已經使用的內容

shared:共享的記憶體大小

buffers:緩衝區記憶體:(磁碟塊的讀寫頻繁,linux記憶體機制做緩衝池)

cached:也是緩衝區記憶體(主要是在檔案讀寫頻繁的時候對檔案進行快取)

一般我們主要看free,和最後一行 buffers/cache:

具體引數可以參考,linux 記憶體機制。我的機器上面是做nagios監控,和備份,每天晚上12點會有rsync的任務執行,同步到這台機器上面。應該是這個問題了,頻繁的讀寫檔案,然後觸發了linxu的記憶體機制,系統任務頻繁的讀寫檔案,當程式停止之後。系統記憶體沒有釋放,而是當做cache的形式存在,方便下次調取。這樣效能應該有所加強,但是像今天這種我又不需要,那麼我就只能將他釋放了:

執行操作:

執行命令完成之後我們可以echo 0 修改回來。

可以看到已經釋放了很多記憶體了。

總結:我們有時候經常會遇到這個問題,尤其是mysql伺服器,經常buffers,經常會佔據很多的記憶體,因為mysql寫入操作是很頻繁了,這個時候我們不用去手動釋放記憶體,允許linux自帶的記憶體去管理,可想而知當我們緩衝區有記憶體了,下次讀寫是不是很快了呢。今天實在暫用太多了,而且rsync也是晚上,才啟動,關閉就不用浪費那麼多資源

linux記憶體cached釋放

我們用free命令檢視系統記憶體使用情況的時候會發現 free m total used free shared buffers cachedmem 24359 11240 13119 0 0 10706 buffers cache 533 23826swap 4095 0 4095 1 total...

linux記憶體cached釋放

linux記憶體cached釋放 我們用free命令檢視系統記憶體使用情況的時候會發現 free m 1 total used free 2 cached比較大,甚至我遇見過記憶體剩餘只有7m的情況,這個時候cached非常大,基本上接近等於total了,這個時候開啟檔案或者傳輸檔案的時候可用記憶體...

linux記憶體cached釋放

我們用free命令檢視系統記憶體使用情況的時候會發現 free m total used free shared buffers cached mem 24359 11240 13119 0 0 10706 buffers cache 533 23826 swap 4095 0 4095 1 tot...