我使用以下命令启动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获取录音。
我该怎么办?
答案 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