JFR.dump失败。 “在指定的时间间隔内没有数据”

时间:2019-06-05 00:55:58

标签: trace jmc jfr

执行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

2 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的JDK?该块不需要填充。

如果您指定要在启动时转储的文件名,但在转储文件时不指定文件名,则在JDK 11或更高版本中会发生错误[1]。

尝试以下方法:

$ jcmd 115 JFR.dump filename=recording.jfr

[1] https://bugs.openjdk.java.net/browse/JDK-8220657

答案 1 :(得分:0)

Azul的支持帮助解决了这一问题。如果启动虚拟机时未指定文件名,则可以进行以下操作:

XX:StartFlightRecording=disk=true,name=continuous_recording,dumponexit=true,maxsize=1024m,maxage=1d

此错误已归档并修复为JDK-8220657。 Azul表示,他们将在将来将其移植到Zulu 8和11。