Sun Java VM 未创建崩溃报告

Sun Java VM 未创建崩溃报告

当 Sun Java VM 崩溃时,通常会创建一个 hs_err_pid* 文件(崩溃报告)。但是,我们有一台 Open SuSE Linux 服务器,java 崩溃时没有留下崩溃报告。创建了核心转储(SIGSEGV),但没有创建 hs_err_pid* 文件。

是否存在 Sun VM 不会创建崩溃报告的情况?或者:如何启用它。

我的Java版本:

> java -version
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)

ps:这不是文件系统访问权限的问题。在这种情况下,虚拟机将在中创建崩溃报告/tmp

答案1

您可以在 VM 选项中找到它:

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#DebuggingOptions

-XX:ErrorFile=./hs_err_pid.log 如果发生错误,则将错误数据保存到此文件。(6 版引入)

因此,请尝试使用以下命令启动您的应用:

java -XX:ErrorFile=/tmp/hs_err_pid.log -other_options yourapp.jar

如果这造成了转储,那就没事了。

答案2

问题是,这次崩溃非常严重,甚至崩溃报告程序也无能为力。

启用核心转储并分析系统核心转储导致的根本原因。

相关内容