编程语言
首页 > 编程语言> > java – IBM JVM中是否存在类似“-XX:OnError”或“-XX:OnOutOfMemoryError”的内容?

java – IBM JVM中是否存在类似“-XX:OnError”或“-XX:OnOutOfMemoryError”的内容?

作者:互联网

Java HotSpot VM选项中有以下两个选项:

-XX:OnError="<cmd args>;<cmd args>" Run user-defined commands on fatal error. (Introduced in 1.4.2 update 9.) 

-XX:OnOutOfMemoryError="<cmd args>; 
<cmd args>" Run user-defined commands when an OutOfMemoryError is first thrown. (Introduced in 1.4.2 update 12, 6) 

据我所知,IBM JVM中没有这样的选项.
这是对的吗?

如果生成堆转储,我需要调用一些shell脚本.
最简单的方法是什么?

解决方法:

IBM J9 JDK通过-Xdump flag提供上述功能;这是注册转储代理的首选方式.

配置JVM以在OOME上生成堆转储的典型方法是捕获应用程序或JVM抛出的所有内存不足错误,并准备转储“walk”(使用堆检查器).

-Xdump:system+heap+java:events=systhrow+user,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk+compact

编号:Eclipse Memory Analyzer Guide

也可以使用JAVA_DUMP_OPTS environment variable.有关这方面的更多信息,请参见IBM JDK diagnostics guide.

编辑

为了在OOME上运行命令,需要在-Xdump选项中指定the tool option.

标签:java,jvm,jvm-arguments
来源: https://codeday.me/bug/20190610/1212898.html