Java 进程在没有记录的情况下被杀死
Java Process getting killed without logging
我在 CentOs Machine 中有一个很长的 运行 Java 进程 运行。我有信息和
错误日志设置正确。该过程 运行 时间更长(18 小时以上)并消失了
突然间。没有 error/exception(OutOfMemoryError/OutOfDiskSpace 错误)的踪迹。如何弄清楚到底发生了什么,比如进程为什么以及如何被杀死?
These are the OS details.
CentOS release 5.11 (Final)
Kernel \r on an \m
是否有任何标准的系统日志或命令可以查明?此作业在 Tomcat 的 servlet 中 运行。 Tomcat 也神秘下沉了
您的进程很可能已被终止,因为系统内存不足。当它发生时,它首先尝试杀死短 运行 进程而不是长 运行 进程。 OOM Killer 不太可能记录在您的应用程序日志中。
检查 dmesg
并尝试找到有关杀死 <java_pid>
的信息。
"badness" Linux https://www.kernel.org/doc/gorman/html/understand/understand016.html#toc21 中确定要终止的任务的方式如下:
badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))
内核逐步完成所有 运行 个任务。
我在 CentOs Machine 中有一个很长的 运行 Java 进程 运行。我有信息和 错误日志设置正确。该过程 运行 时间更长(18 小时以上)并消失了 突然间。没有 error/exception(OutOfMemoryError/OutOfDiskSpace 错误)的踪迹。如何弄清楚到底发生了什么,比如进程为什么以及如何被杀死?
These are the OS details.
CentOS release 5.11 (Final)
Kernel \r on an \m
是否有任何标准的系统日志或命令可以查明?此作业在 Tomcat 的 servlet 中 运行。 Tomcat 也神秘下沉了
您的进程很可能已被终止,因为系统内存不足。当它发生时,它首先尝试杀死短 运行 进程而不是长 运行 进程。 OOM Killer 不太可能记录在您的应用程序日志中。
检查 dmesg
并尝试找到有关杀死 <java_pid>
的信息。
"badness" Linux https://www.kernel.org/doc/gorman/html/understand/understand016.html#toc21 中确定要终止的任务的方式如下:
badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))
内核逐步完成所有 运行 个任务。