首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何分析从头到尾运行的Java程序?

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

Stack Overflow用户
提问于 2018-10-18 02:14:06
回答 1查看 61关注 0票数 1

我有一个Java程序,它只运行大约20-30秒,我想分析一下它。

在每次启动时手动启动jvisualvm分析器是不可靠的,因为在操作UI时会损失几秒钟时间。

有没有一种方法可以分析整个可执行文件,就像不再工作的旧-Xhprof:cpu=samples一样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 03:42:46

使用飞行记录器,您可以添加到命令行

代码语言:javascript
复制
-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上的内存分配,因此我将其设置得比缺省值小得多,以获取更多样本。

代码语言:javascript
复制
-XX:TLABSize=128k

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

我发现这比VisualVM更难使用,但能以更少的噪音产生更详细的结果。也就是说,分析器本身导致的分配要少得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52861208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档