Java飛行記錄器JFR功能實現(xiàn)過程圖解
JFR
如果要深入分析問題,可以選擇使用內(nèi)置的Java飛行記錄器:Java Mission Control。
轉(zhuǎn)儲JFR需要三步:
1. 創(chuàng)建一個包含了你自己配置的JFR模板文件。運行jmc, 然后Window->Flight Recording Template Manage菜單。準備好檔案后,就可以導(dǎo)出文件,并移動到要排查問題的環(huán)境中。
2. 由于JFR需要JDK的商業(yè)證書,這一步需要解鎖jdk的商業(yè)特性。
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中。
一旦記錄完成之后,就可以復(fù)制.jfr文件到你的工作環(huán)境使用jmc GUI來分析。它幾乎包含了排查jvm問題需要的所有信息,包括堆dump時的異常信息。
還有一種方式:
在JVM的啟動參數(shù)中增加如下參數(shù):
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
一分鐘后可查看記錄數(shù)據(jù),通過這些數(shù)據(jù),可以清楚的了解到這一分鐘時間內(nèi),整個操作系統(tǒng)以及JVM的所有數(shù)據(jù)情況。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中的CompletionService批量異步執(zhí)行詳解
這篇文章主要介紹了Java中的CompletionService批量異步執(zhí)行詳解,我們知道線程池可以執(zhí)行異步任務(wù),同時可以通過返回值Future獲取返回值,所以異步任務(wù)大多數(shù)采用ThreadPoolExecutor+Future,需要的朋友可以參考下2023-12-12idea使用mybatis插件mapper中的方法爆紅的解決方案
這篇文章主要介紹了idea使用mybatis插件mapper中的方法爆紅的解決方案,文中給出了詳細的原因分析和解決方案,對大家解決問題有一定的幫助,需要的朋友可以參考下2024-07-07BeanUtils.copyProperties復(fù)制屬性失敗的原因及解決方案
這篇文章主要介紹了BeanUtils.copyProperties復(fù)制屬性失敗的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08整理Java的MyBatis框架中一些重要的功能及基本使用示例
這篇文章主要介紹了Java的MyBatis框架中一些重要的功能及基本使用示例整理,MyBatis可以幫助Java程序進行強大的數(shù)據(jù)庫操作,需要的朋友可以參考下2016-04-04關(guān)于Java整合RocketMQ實現(xiàn)生產(chǎn)消費詳解
這篇文章主要介紹了關(guān)于Java整合RocketMQ實現(xiàn)生產(chǎn)消費詳解,RocketMQ作為一款純java、分布式、隊列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時消息、消息回溯等,需要的朋友可以參考下2023-05-05