java - jvm 配置中的 -XX:HeapDumpPath 选项不起作用
问题描述
-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} 中。但是堆转储打印在标准输出中。
我的 jvm 配置有什么问题吗?或者 kill -3 时不起作用?
解决方案
HeapDumpPath
仅影响响应以下选项之一而生成的自动堆转储:
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpBeforeFullGC
-XX:+HeapDumpAfterFullGC
它对其他方式生成的堆转储没有影响,例如通过 JMX 调用的jmap
命令或操作。dumpHeap
对线程转储也HeapDumpPath
没有影响。特别是,将打印Java 进程的线程堆栈。如果要将线程转储到给定文件,请使用.kill -3
stdout
jstack
推荐阅读
- mariadb - MariaDB - 将历史数据插入系统版本(时间)表
- java - 单击 ListView 中的项目时,我的应用程序崩溃并创建 SQLite 编译错误。怎么了?
- vue.js - 如何使用 Vue js 在 Button Click 上滚动到页面顶部?
- vue.js - 为什么我的 bootstrap-vue b-table 列标题不在部署中心?
- kubernetes - aws-iam-authenticator 返回已过期的令牌 - eks
- colors - 三个JS如何给用GLTFLoader加载的网格添加颜色和线宽
- javascript - 当循环第一次使用 JS 时,无法为循环元素创建正确的条件
- java - java路径双正斜杠
- google-cloud-platform - kedro 支持 tfrecord 吗?
- fp-ts - fp-ts 从 Either[] 序列中返回所有左值