今天在做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...