JFR
上面講到的工具都是作為快速的查看診斷工具的。如果要深入分析問題,可以選擇使用內置的Java飛行記錄器:Java Mission Control。
轉儲JFR需要三步:
1. 創建一個包含了你自己配置的JFR模板文件。運行jmc, 然后Window->Flight Recording Template Manage菜單。准備好檔案后,就可以導出文件,並移動到要排查問題的環境中。
2. 由於JFR需要JDK的商業證書,這一步需要解鎖jdk的商業特性。
C:\Users\lenovo>jcmd 8152 VM.unlock_commercial_features
3. 最后你就可以啟動JFR。
jcmd <PID> JFR.start name=test duration=60s settings=template.jfc filename=output.jfr
上述命令立即啟動JFR並開始使用templayte.jfc的配置收集60s的JVM信息,輸出到output.jfr中。
一旦記錄完成之后,就可以復制.jfr文件到你的工作環境使用jmc GUI來分析。它幾乎包含了排查jvm問題需要的所有信息,包括堆dump時的異常信息。
還有一種方式:
在JVM的啟動參數中增加如下參數:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
一分鍾后可查看記錄數據,通過這些數據,可以清楚的了解到這一分鍾時間內,整個操作系統以及JVM的所有數據情況。
原文地址:https://blog.csdn.net/hnhygkx/article/details/82876926