执行jcmd 115 JFR.dump name=continuous_recording
时收到以下错误消息:
115:
Dump failed. No data found in the specified interval.
我使用以下配置开始录制:
XX:StartFlightRecording=disk=true,dumponexit=true,
filename=/home/site/diagnostics/recording.jfr,
maxsize=1024m,maxage=1d,name=continuous_recording
可能是缓冲区尚未填充最小块大小。但 JFR.check 命令不提供该信息。
更新:
如果运行 JFR.dump 而不指定录制名称,我可以从 Java 应用程序获取转储。我尝试用引号(转义和未转义)封装录音名称,但得到了与之前相同的错误。
005c736ce3ee:/home# jcmd 115 JFR.dump filename="home/6_10_dump1.jfr"
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
115:
Dumped recording, 155.8 MB written to: /home/6_10_dump1.jfr
最佳答案
您使用的 JDK 版本是什么?该 block 不需要被填充。
如果您在启动时指定要转储的文件的文件名,但在转储文件时没有指定它,则 JDK 11 或更高版本中会出现一个错误 [1]。
尝试将此作为解决方法:
$ jcmd 115 JFR.dump filename=recording.jfr
关于trace - JFR.dump 失败。 "No data in specified interval",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56453013/