-XX:HeapDumpPath 在kill -3 时不工作。
java -server -Xms4G -Xmx4G -XX:+UseG1GC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:{GC_PATH} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath={HEAP_PATH} -jar -Dspring.profiles.active=local app.jar
gc 日志打印在正确的 {GC_PATH} 中。但 Heapdump 在 stdout 中打印。
我的 jvm 配置有问题吗?或者在kill -3 时不起作用??
最佳答案
HeapDumpPath
仅影响响应以下选项之一生成的自动堆转储:
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpBeforeFullGC
-XX:+HeapDumpAfterFullGC
它对通过其他方式生成的堆转储没有影响,例如通过 JMX 调用的 jmap
命令或 dumpHeap
操作。
此外,HeapDumpPath
对线程转储没有影响。特别是,kill -3
将在 Java 进程的 stdout
上打印线程堆栈。如果要将线程转储到给定文件,请使用jstack
。
关于java - -XX :HeapDumpPath option in jvm config not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519889/