在网上看到,直接查看linux的日志信息
路径在 /var/log/
路径下的messages
查看该文件
Apr 9 08:24:10 xxxx kernel: Out of memory: Kill process 21180 (java) score 301 or sacrifice child
Apr 9 08:24:10 xxxx kernel: Killed process 21180 (java) total-vm:2747000kB, anon-rss:584756kB, file-rss:0kB, shmem-rss:0kB
操作系统(operating system)构建在进程(process)的基础上, 进程由内核作业(kernel jobs)进行调度和维护,其中有一个内核作业称为 “Out of memory killer(OOM终结者)”,Out of memory killer 在可用内存极低的情况下会杀死某些进程。只要达到触发条件就会激活,选中某个进程并杀掉。 通常采用启发式算法,对所有进程计算评分(heuristics scoring),得分最低的进程将被 kill 掉。 Out of memory: Kill process or sacrifice child 既不由JVM触发,也不由JVM代理,而是系统内核内置的一种安全保护措施。如果可用内存(含swap)不足, 就有可能会影响系统稳定,这时候 Out of cat /proc/23054/oom_score_adjmemory killer 就会设法找出流氓进程并杀死他,也就是引起 Out of memory: kill process or sacrifice child 错误。
作者:cherishpf
链接:https://www.jianshu.com/p/8181280ffad4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
防止杀死进程参考:https://www.cnblogs.com/GoodGoodWorkDayDayUp/p/3473348.html
找到tomcat进程的pid
netstat -tlnp
查看值
cat /proc/23054/oom_score_adj
减小这个值,值越小越不容易被杀死
echo -15 > /proc/2196/oom_score_adj
查看linux的内存指令 free -h