IMLC.ME

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 ...