You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenJDK11下如何在运行时设置JFR栈深度?

OpenJDK 11 中调整JFR栈深度的有效方法

问题原因

OpenJDK 11 里,jcmd <pid> JFR.configure stackdepth=128命令无法生效的核心原因是:栈深度是JFR录制会话的初始化参数,而非全局可动态调整的配置。JFR子系统在JVM启动或第一次启动录制时就完成初始化,后续执行JFR.configure修改栈深度,不会对已存在或新启动的录制会话产生影响。

有效解决方案

1. JVM启动时全局指定栈深度

在启动应用时,通过-XX:FlightRecorderOptions参数直接设置栈深度,所有录制会话都会默认使用这个配置:

java -XX:FlightRecorderOptions=stackdepth=128 -jar your-application.jar

2. 启动录制会话时显式指定

如果不想修改JVM启动参数,在启动单个录制会话时,直接在JFR.start命令中添加stackdepth参数:

jcmd <pid> JFR.start name=CustomRecording stackdepth=128 filename=my-recording.jfr

内容的提问来源于stack exchange,提问作者Olivier Masseau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 10:27:44