Linux

不可預測的記憶體爆炸

  • May 10, 2011

我公司的主伺服器最近有很多停機時間。由於我和其他管理員都無法確定的原因,它在記憶體中隨機(非常突然)爆炸。它變得無響應,因為它耗盡了所有記憶體,然後我們必須重新啟動它。很煩人。這是一個 Debian 系統,我們還沒有升級到 Squeeze 或其他任何東西,它已經非常穩定了很長時間。

問題是日誌完全沒用。他們似乎沒有表明有什麼問題。我猜有些過程是錯誤的並且佔用了所有的記憶體,但我目前無法證明這一點。遠端記錄沒有幫助,因為它沒有抱怨任何事情——它認為一切都很美好。

所以我的問題是:你將如何解決這個問題?任何見解都值得讚賞。謝謝。

atop非常擅長監控和記錄資源使用情況。它可以互動使用或作為服務使用;debian 軟體包將其設置為每十分鐘記錄到 /var/log/atop.log (編輯 /etc/init.d/atop 以獲得更精確的資訊)。然後,您可以使用atop -r /var/log/atop.log -b hh:mm -mM;重播日誌。mM 選擇適合記憶體問題的視圖和排序,hh:mm 應該是事件發生前幾分鐘,使用 tT 導航。也嘗試A排序。

您可以嘗試通過 /etc/security/limits.conf (pam_limits) 使用限制每個程序的地址空間 (as) 和每個使用者的程序數 (nproc) 的組合,希望這將有助於避免您的盒子變得完全無響應並且導致問題的任何原因都會吵鬧(或導致問題的人抱怨他們的東西不再起作用),因此您可以找出實際原因。

引用自:https://unix.stackexchange.com/questions/12906