-1

我正在使用以下命令启动 Java Flight Recorder。

jcmd $PID JFR.start duration=2h filename=my_record.jfr dumponexit=true settings=profile

它正在录制开始后的前 2 小时。

例如,如果它从 1:00 开始,它会记录从 1:00 到 3:00,即使我在 9:00 转储。

我需要获取过去 2 小时的录音,而不是前两个小时的录音。

例如,如果它从 1:00 开始并在 9:00 转储,我需要从 7:00 到 9:00 获取记录。

我应该怎么办?

4

1 回答 1

3

您可以使用参数maxagemaxsize控制以时间或字节为单位保留数据的时间。例如,

jcmd <pid> JFR.start maxage=2h filename=my_recording.jfr dumponexit=true settings=profile

或从命令行

java -XX:+UnlockCommercialFeatures 
-XX:StartFlightRecording=maxage=2h,filename=my_recording.jfr,
dumponexit=true,settings=profile …

我认为,dumponexit 参数仅适用于 jcmd 如果您有 JDK 8u40 或更高版本

于 2016-03-03T02:36:11.200 回答