Linux

18% 使用時記憶體不足:記憶體在哪裡?

  • December 7, 2018

這與:72% 使用率時記憶體不足

看起來是同一個問題,但問題略有不同:我的記憶去哪兒了?我的記憶體使用率為 18%,我的 OOM Killer 每 10 分鐘就會殺死 mysqld。

我能夠收集到一些資訊:

1 - 感謝https://serverfault.com/a/619681/182343我發現 OOM Killer 的報告顯示 DMA35 + DMA + 正常使用率為 96%(報告https://pastebin.com/UJUiSsSi) ……所以有問題……

2 - OOM Killer 的程序列表:https ://pastebin.com/yYTD4QzW

3 - free、top、htop 和其他工具最多顯示 18% 的記憶體使用率。這是排名最高的 ram 使用情況(https://pastebin.com/DEDV1HWb

4 - free -m 沒有說明 ram 問題:

             total        used        free      shared  buff/cache   
available
Mem:           6809         414         470         201        5924        5825

(我添加了一些交換,因為我在這個虛擬機上沒有交換但沒有任何改變,沒有使用交換)

5(編輯):感謝 Daniel Gordi,我清理了我的 buff/cachefree && sync && echo 3 > /proc/sys/vm/drop_caches && free並使用echo f > /proc/sysrq-trigger. 而且,WTF,oom-killer ram 報告(DMA35 + DMA + Normal)顯示了我預期的 ram 使用率:18%!我一直認為這buff/cache意味著在作業系統需要時可用 - 它……

為什麼以及在哪裡吃公羊?

(我真的希望我能在那裡得到一些幫助,因為我的生產伺服器真的很不穩定,因為它出現了這個問題:(謝謝)

如果有人來這裡尋求解決方案,這是一個更新:

我回滾了所有配置修改,並重新啟動了伺服器。自 2 個月以來,伺服器看起來不錯,問題消失了。

不知道這裡發生了什麼……

嘗試找出哪個程序使用您的 RAM 和ps aux --sort -rss. 關於大多數 RAM
的伺服器輸出已緩衝/記憶體。free -m嘗試使用以下命令清除記憶體:

# free && sync && echo 3 > /proc/sys/vm/drop_caches && free

引用自:https://serverfault.com/questions/934639