java - -XX :HeapDumpPath option in jvm config not working

标签 java linux jvm

-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/

相关文章:

ruby-on-rails - git status 显示将开发平台从 Windows 更改为 Linux 后修改的文件列表

Scala 直接成员访问

java - 解释一些东西,然后用 Java 运行生成的字节码?

java - 未报告的异常 java.sql.SQLException;必须被捕获或宣布被抛出?

java - 获取带有数学表达式的字符串,将其解析为函数数学表达式以便稍后对其求值(Java)

java - 什么压缩库适用于 GAE

linux - 找不到 yarn 的“全局”文件或目录

java - 无法实现二维机构的运动

linux - 尝试在 ubuntu 中将文件从本地服务器复制到远程服务器时权限被拒绝

java - Java如何保留/使用内存?