Vin*_*eel 5 java linux tomcat centos5
我有一个长时间运行的 Java 进程在 CentOs 机器上运行。我已正确设置信息和错误日志。该进程运行了较长时间(18 小时以上)并突然消失。没有任何错误/异常(OutOfMemoryError/OutOfDiskSpace Error)的痕迹。如何弄清楚到底发生了什么,例如进程为何以及如何被终止?
These are the OS details.
CentOS release 5.11 (Final)
Kernel \r on an \m
Run Code Online (Sandbox Code Playgroud)
是否有任何标准系统日志或命令需要弄清楚?该作业在 Tomcat 中的 servlet 中运行。Tomcat也神秘地宕机了。
您的进程很可能因为系统内存不足而被终止。当这种情况发生时,它首先尝试杀死短时间运行的进程,而不是长时间运行的进程。OOM Killer 不太可能记录在您的应用程序日志中。
检查dmesg并尝试找到有关杀戮的信息<java_pid>。
以下是如何在 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)))
Run Code Online (Sandbox Code Playgroud)
内核逐步执行所有正在运行的任务。
| 归档时间: |
|
| 查看次数: |
4440 次 |
| 最近记录: |