JVM Threaddump OnOutOfMemoryError无法识别的选项



我想在发生OutOfMemory错误时收集线程转储。

我在我的run.conf脚本上添加了这个选项:

JAVA_OPTS="${JAVA_OPTS} -XX:OnOutOfMemoryError=/bin/kill -3 %p"

但在创业时,我有:

Unrecognized option: -3
Could not create the Java virtual machine.

我尝试过:

JAVA_OPTS="${JAVA_OPTS} -XX:OnOutOfMemoryError="/bin/kill -3 %p""

进程中启动的args的结果是可以的:

.... -XX:OnOutOfMemoryError="/bin/kill -3 %p"  ....

但启动时的错误是一样的:

Unrecognized option: -3
Could not create the Java virtual machine.

这是一个报价问题。外壳不会将/bin/kill -3 %p作为单个字符串发送到JVM。

我建议尝试单引号(未经测试(:

JAVA_OPTS="${JAVA_OPTS} -XX:OnOutOfMemoryError='/bin/kill -3 %p'"

最新更新