18% 使用時記憶體不足:記憶體在哪裡?
看起來是同一個問題,但問題略有不同:我的記憶去哪兒了?我的記憶體使用率為 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/cache
free && 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