原文链接:https://www.cnblogs.com/duanxz/p/10185946.html

基本概念:

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的那个进程就是那个最占用内存的进程。

如果怀疑进程被系统杀掉,可以查看系统日志:

运行egrep -i -r 'killed process' /var/log命令,结果很清晰,如下:

[转发]Linux进程被杀掉(OOM killer),查看系统日志

也可运行dmesg命令,出来的好多,结果如下:

[转发]Linux进程被杀掉(OOM killer),查看系统日志

相关文章:

  • 2021-12-31
  • 2022-01-15
  • 2021-06-01
  • 2021-12-06
  • 2021-12-16
  • 2021-12-16
  • 2022-03-04
猜你喜欢
  • 2021-12-31
  • 2021-11-04
  • 2021-10-23
  • 2021-12-04
  • 2022-03-03
相关资源
相似解决方案