为了账号安全,请及时绑定邮箱和手机立即绑定

如何从头到尾分析 Java 程序的运行情况?

如何从头到尾分析 Java 程序的运行情况?

暮色呼如 2021-11-24 14:53:44
我有一个仅运行大约 20-30 秒的 Java 程序,我想对其进行概要分析。在每次启动时手动启动 jvisualvm 分析器并不可靠,因为您会损失几秒钟操作 UI。有没有办法分析整个执行,就像旧的-Xhprof:cpu=samples不再有效?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超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 上的内存分配,因此我将其设置为比默认值小得多以获取更多样本。

-XX:TLABSize=128k

您需要jmc$JAVA_HOME/bin目录运行以打开.jfr创建的文件。

我发现这比 VisualVM 更难使用,但产生


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信