4

我正在使用 Jboss,并-XX:+HeapDumpOnCtrlBreak在 JAVA_OPTS 中添加了选项。但是我在启动 Jboss 时遇到了错误:

Unrecognized VM option '+HeapDumpOnCtrlBreak'
Could not create the Java virtual machine.

我在网上搜索,似乎 JDK 6 不支持此选项,因此我更改为 jdk1.5.0_09 但仍然出现此错误。

有谁知道出了什么问题?

4

4 回答 4

6

即使在 JDK 1.7 更新 25 上,该选项也不起作用:

>>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

>>java -XX:+HeapDumpOnCtrlBreak
Unrecognized VM option 'HeapDumpOnCtrlBreak'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
于 2013-07-30T06:52:55.907 回答
2

好吧,看来我需要 Java SE release 5.0 update 14 或更高版本。

于 2012-03-06T03:07:41.397 回答
1

1.4.2_21 的变化 http://www.oracle.com/technetwork/java/javase/documentation/overview-142120.html

  • 6321286 java serviceability 向 jmap 添加 -dump 选项,以便可以从正在运行的 VM 获得协作堆转储。
  • 6454676 java serviceability 需要 -XX:+HeapDumpOnCtrlBreak 在 ctrl-break 或 ctrl-\ 上触发堆转储
  • 6608975 对于由 HeapDumpOnCtrlBreak 功能写入的转储,Java 可维护性 HeapDumpPath 选项被忽略

升级到 Jdk 1.4.2_21+ 可以帮助我们支持这个堆转储生成功能

于 2012-05-18T04:30:57.520 回答
1

-XX:+HeapDumpOnCtrlBreak在 HotSpot JVM(由 Sun/Oracle)中存在于 1.4.2_12 或更高版本和 1.5.0_14 或更高版本中。对于 JVM 1.6、1.7、1.8,此选项不再存在,但您可以使用“jmap”工具 ( jmap.exe -dump:format=b,file=HeapDump.hprof)

在 HP-UX JVM 中,该选项存在于 1.4.2_11 或更高版本以及 1.5.0_05 及更高版本中。并且在所有更高版本(1.6、1.7)中。

有关更多信息,请参阅JVM 选项的可搜索集合 - HeapDumpOnCtrlBreak

于 2015-01-19T20:32:01.513 回答