JVM宕机分析
1、JVM崩溃常见原因
常见的能够引起JVM崩溃的原因主要有:
- 内存溢出
- 线程阻塞
- CPU 使用率过高
- JVM Crash
- Java虚拟机自身的Bug
- JDK与服务器(CPU、内存、操作系统)的兼容性
2、hs_err_pid 日志文件分析
hs_err_pid.log 文件是一个 Java 虚拟机(JVM)生成的错误报告日志文件,通常包含了 JVM 崩溃时的详细信息。当 JVM 因为各种原因发生致命错误时(包括内存溢出(OutOfMemoryError)、线程死锁、系统资源不足等问题),会生成一个hs_err_pid_xxx.log(后面的xxx为进程id)这样的文件,该文件包含了导致 JVM crash(JVM崩溃)的重要信息,我们可以通过分析该文件定位到导致 JVM Crash 的原因,从而修复保证系统稳定。
默认情况下,该文件是生成在工作目录下的,当然也可以通过 JVM 参数指定生成路径: