Java Flight Recorder(JRF) 常用命令
1. 延迟10秒后启动 JFR,记录10分钟
java -XX:+UnlockDiagnosticVMOptions \
-XX:+DebugNonSafepoints \
-XX:+FlightRecorder \
-XX:StartFlightRecording=delay=10s,duration=10m,name=Profiling,filename=recording.jfr,settings=profile \
-XX:FlightRecorderOptions=loglevel=info \
-jar ...
jcmd <pid> JFR.start settings=profile delay=10s duration=10m name=Profiling filename=recording.jfr
2. 持续记录
java -XX:+UnlockDiagnosticVMOptions \
-XX:+DebugNonSafepoints \
-XX:+FlightRecorder \
-XX:FlightRecorderOptions=defaultrecording=true,disk=true,repository=/tmp,maxage=2h,loglevel=info \
-jar ...
jcmd <pid> JFR.start
jcmd <pid> JFR.dump
3. 退出时自动执行
java -XX:+UnlockDiagnosticVMOptions \
-XX:+DebugNonSafepoints \
-XX:+FlightRecorder \
-XX:FlightRecorderOptions=defaultrecording=true,disk=true,repository=/tmp,maxage=2h,dumponexit=true,dumponexitpath=dumponexit.jfr,loglevel=info \
-jar ...