-XX:jvm配置中的HeapDumpPath选项不起作用

时间:2019-06-10 02:36:21

标签: java linux jvm

-XX:杀死-3时HeapDumpPath不起作用。

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}打印。但是堆转储在标准输出中打印。

我的jvm配置有问题吗?或者在杀死-3时不起作用?

1 个答案:

答案 0 :(得分:1)

HeapDumpPath仅影响为响应以下选项之一而生成的自动堆转储:

  • -XX:+HeapDumpOnOutOfMemoryError
  • -XX:+HeapDumpBeforeFullGC
  • -XX:+HeapDumpAfterFullGC

它对其他方式产生的堆转储没有影响,例如通过JMX调用的jmap命令或dumpHeap操作。

HeapDumpPath线程转储也不起作用。特别是,kill -3将在Java进程的stdout上打印线程堆栈。如果要将线程转储到给定文件,请使用jstack