原文网址:Java--进程突然消失--原因/排查方案_IT利刃出鞘的博客-CSDN博客
说明
本文介绍Java进程突然不见了的原因及排查步骤。
有时候Java进程突然消失,一般是前端接口返回404最终排查到Java进程消失的。
Java进程消失原因
简介
最常见的是发生堆内存异常“java.lang.OutOfMemoryError: Java heap space”
排查方案
查看堆内存异常时生成的dump文件。
dump文件
然后使用MAT/jprofiler/VisualVM/jhat等工具进行分析即可。
简介
Linux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会在如下情况下杀掉进程:
排查方案
方案1:查看日志文件:/var/log/message
直接:grep "Out of memory" /var/log/messages
结果示例:(如果出现下边这样,有“Out of memory: xxx”,说明发生了OOM-Killer)
方案2:使用dmesg命令
dmesg -T | grep "Out of memory" # -T 是显示时间戳
结果示例:(如果出现下边这样,有“Out of memory: xxx”,说明发生了OOM-Killer)
简介
当JVM发生致命错误导致崩溃时,会生成一个hs_err_pid_xxx.log这样的文件,该文件包含了导致 JVM crash 的重要信息,我们可以通过分析该文件定位到导致 JVM Crash 的原因,从而修复保证系统稳定。
排查方案
默认情况下,该文件是生成在工作目录下的,当然也可以通过 JVM 参数指定生成路径:
-XX:ErrorFile=/var/log/hs_err_pid<pid>.log
这个文件的内容他主要有如下内容
拿到这个文件后,不用说了,慢慢啃吧。这个文件巨复杂,如果要会读这个文件,请下点功夫。
Linux服务器Java进程突然消失排查办法 - myseries - 博客园
记一次Java程序莫名其妙消失不见的排查_神在异乡-CSDN博客