我有一個僅運行大約 20-30 秒的 Java 程序,我想對其進行概要分析。在每次啟動時手動啟動 jvisualvm 分析器并不可靠,因為您會損失幾秒鐘操作 UI。有沒有辦法分析整個執(zhí)行,就像舊的-Xhprof:cpu=samples不再有效?
1 回答

泛舟湖上清波郎朗
TA貢獻1818條經(jīng)驗 獲得超3個贊
使用 Flight Recorder,您可以添加到命令行
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,settings=profile
https://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/run.htm#JFRRT176
它只記錄新 TLAB 上的內(nèi)存分配,因此我將其設(shè)置為比默認值小得多以獲取更多樣本。
-XX:TLABSize=128k
您需要jmc
從$JAVA_HOME/bin
目錄運行以打開.jfr
創(chuàng)建的文件。
我發(fā)現(xiàn)這比 VisualVM 更難使用,但產(chǎn)生
添加回答
舉報
0/150
提交
取消