Java Process无需日志就被杀死

时间:2019-02-18 06:23:01

标签: java linux tomcat centos5

我在CentOs Machine中运行的Java进程运行时间很长。我既有信息也有 错误日志设置正确。该过程运行了更长的时间(超过18小时)并消失了 突然间。没有错误/异常(OutOfMemoryError / OutOfDiskSpace错误)的痕迹。如何弄清楚到底发生了什么,为什么以及如何杀死了这个过程?

These are the OS details.
CentOS release 5.11 (Final)
Kernel \r on an \m

是否有任何标准的系统日志或命令可以找出来?该作业正在Tomcat中的servlet中运行。 Tomcat也正在神秘地崩溃。

1 个答案:

答案 0 :(得分:2)

您的进程很可能被杀死,因为系统内存不足。当它发生时,它首先尝试杀死短期运行的进程,而不是长期运行的进程。 OOM Killer不太可能记录在您的应用程序日志中。

检查dmesg并尝试找到有关杀死<java_pid>的信息。

这是Linux https://www.kernel.org/doc/gorman/html/understand/understand016.html#toc21中确定的杀死Tasj的“坏处”的方式:

badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))

内核逐步完成所有正在运行的任务。