无法识别的VM选项’+ HeapDumpOnCtrlBreak’

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

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

我在网上搜索过,似乎JDK 6不支持这个选项,所以我改为jdk1.5.0_09但仍然出现了这个错误。

有谁知道什么是错的?

即使在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. 

好吧,似乎我需要Java SE版本5.0更新14或更高版本。

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

  • 6321286 java serviceability将-dump选项添加到jmap,以便可以从正在运行的VM获取协作堆转储。
  • 6454676 java serviceability需要-XX:+ HeapDumpOnCtrlBreak在ctrl-break或ctrl-上触发堆转储
  • 6608975 java可维护性HeapDumpOnCtrlBreakfunction写入的转储将忽略HeapDumpPath选项

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

-XX:+HeapDumpOnCtrlBreak HotSpot JVM中的-XX:+HeapDumpOnCtrlBreak (由Sun / Oracle提供)存在于1.4.2_12或更高版本以及1.5.0_14或更高版本中。 对于JVM jmap.exe -dump:format=b,file=HeapDump.hprof ,此选项不再存在,但您可以使用“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