如何从Java Flight Recorder获取最后的录音?

时间:2016-03-02 18:28:11

标签: java java-mission-control jfr

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

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

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

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

我需要从过去2小时开始录制,而不是从最初录制的录制内容。

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

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用参数 maxage maxsize 来控制保留数据的时间或字节数。例如,

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 …

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