如何调查 JVM 崩溃的原因?
一天前,经过几个月的正常工作,我们的Java应用程序偶尔开始崩溃,并出现以下错误:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (safepoint.cpp:247), pid=2075, tid=140042095163136
# guarantee(PageArmed == 0) failed: invariant
#
# JRE version: 6.0_23-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
# An error report file with more information is saved as:
# /var/chat/jSocketer/build/hs_err_pid2075.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
我查看了hs_err_pid2075.log,发现有一个活动线程,用于处理网络通信。但是,在过去的几个月里,没有进行任何应用程序或环境更改。此外,负载也没有任何增长。我能做些什么来理解,崩溃的原因是什么?是否有任何常见步骤来调查 jvm 崩溃?