【发布时间】:2011-12-30 10:40:12
【问题描述】:
一天前,经过几个月的正常工作,我们的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 崩溃?
【问题讨论】:
-
根据我的经验,JVM 崩溃非常罕见。它们指向 JVM 中的错误并且不容易解决。如果可以的话,我会考虑升级你的 JRE。 en.wikipedia.org/wiki/Java_version_history#Java_6_updates
-
请贴出hs_err_pid2075.log的内容
-
它说你的老一代已经 98% 满了,每次崩溃都会发生这种情况吗?
-
不,在其他时候它使用 5% 到 13%。