Memory

無法確定記憶體使用率高的原因

  • February 8, 2019

我的 VPS 不斷耗盡記憶體,我的 apache 伺服器出現故障,當我登錄重新啟動時,我收到“記憶體故障”錯誤,必須通過我的託管公司儀表板重新啟動。

但是,在重新啟動之前,我可以使用 來查看記憶體使用情況top,並且沒有發現任何可疑之處。mysqld 有時會在 6% 記憶體時達到峰值,幾個 php-cgi7 程序在 1% 時達到峰值,僅此而已,所有其他程序似乎並沒有消耗太多記憶體。

那麼是top因為某種原因失去了一些東西嗎?我還能做些什麼來調試這種情況?

我想當您登錄時,導致問題的過程已經消失。當系統正常工作但已經啟動了一段時間時,嘗試登錄並使用top找出正在使用記憶體的內容。

正如@yoonix 建議的那樣,檢查您的系統日誌。要找到這個日誌Google類似“(作業系統名稱)系統日誌位置”。使用您選擇的文本編輯器查看該文件以獲取適用的消息。

您可以參考此處以了解您的作業系統如何決定要終止哪些程序。

本頁所述(現在有點舊),您可以使用類似的東西來找出被殺的東西

grep -i kill /var/log/messages*

您應該會看到類似這樣的條目

host kernel: Out of Memory: Killed process 2592 (oracle).

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