Linux進程被殺掉(OOM killer),查看系統日志


基本概念:

Linux 內核有個機制叫OOM killer(Out Of Memory killer),該機制會監控那些占用內存過大,尤其是瞬間占用內存很快的進程,然后防止內存耗盡而自動把該進程殺掉。內核檢測到系統內存不足、挑選並殺掉某個進程的過程可以參考內核源代碼linux/mm/oom_kill.c,當系統內存不足的時候,out_of_memory()被觸發,然后調用select_bad_process()選擇一個”bad”進程殺掉。如何判斷和選擇一個”bad進程呢?linux選擇”bad”進程是通過調用oom_badness(),挑選的算法和想法都很簡單很朴實:最bad的那個進程就是那個最占用內存的進程。

如何查看:

grep "Out of memory" /var/log/messages

 

查看系統日志方法:

運行egrep -i -r 'killed process' /var/log命令,結果如下:

也可運行dmesg命令,結果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM