【问题标题】:how to set the java dump file location for the tanuki wrapper如何为 tanuki 包装器设置 java 转储文件位置
【发布时间】:2018-06-24 04:24:10
【问题描述】:

如何设置 Tanuki 包装器的 DUMP 文件位置。

当 OutOfMemoryError 发生时,我需要写入 DUMP 文件。这个配置如下:

wrapper.filter.trigger.1=java.lang.OutOfMemoryError
wrapper.filter.action.1=DUMP,RESTART

但我需要将它存储到不同的磁盘分区,以防止由于磁盘内存而导致完全崩溃。

我找到了一些 JVM 属性,但它们似乎不起作用:

wrapper.java.additional.18=-XX:HeapDumpPath=C:/test1

说明:

-XX:HeapDumpPath=./java_pid<pid>.hprof  Path to directory or filename for heap dump.

在我的情况下不需要这个 --> HeapDump 正在使用上述配置编写..-XX:-HeapDumpOnOutOfMemoryError

任何人都可以在这个学期帮助我。 谢谢!

【问题讨论】:

    标签: java configuration jvm wrapper dump


    【解决方案1】:

    我自己在生产中使用的解决方案:

    wrapper.java.additional.2=-XX:+HeapDumpOnOutOfMemoryError
    wrapper.java.additional.3=-XX:+ExitOnOutOfMemoryError
    wrapper.java.additional.4=-XX:HeapDumpPath=C:/test1
    

    在这种情况下wrapper.filter 不需要配置。

    请注意,-XX:+ExitOnOutOfMemoryError 选项出现在 JDK 8u92 中。如果您使用早期版本的 JDK,this answer 的解决方案可能会有所帮助。

    【讨论】:

    • 您好,感谢您的回答。我也尝试过这种方式。但转储文件始终存储在启动 java 应用程序的文件夹中。
    • @izocan 配置可能有误。检查 jcmd PID VM.flags 以验证 JVM 选项是否已正确应用。
    • 非常感谢您的回答。问题是我在eclipse中启动了应用程序。我的 Eclipse 正在使用 IBM JDK 启动应用程序,因此 JVM 参数没有采取行动。当我从 WindowsExplorer 启动 .bat 文件时,一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2010-11-29
    相关资源
    最近更新 更多