在正在运行的应用程序上使用Java Flight Recording功能后,可以使用Java的JMC检查生成的JFR文件以显示热方法,以及每种方法花费的CPU时间百分比。这对于分析应用程序和识别瓶颈非常有用。
以下是旧版JMC中可能的示例:
与Java 10捆绑在一起的JMC 6.0中似乎缺少此屏幕。以下是我在Java 10捆绑的JMC 6.0中看到的示例:
似乎有一些基本的方法调用计数,但没有列出百分比CPU时间。似乎没有添加缺失列的选项。
有没有办法显示热方法%CPU时间,或者是否已从JDK10中的JMC 6.0中删除此功能?
答案 0 :(得分:4)
百分比列不是cpu时间,而是方法样本总数的百分比。 相同的信息在JMC 6.0的Count列中显示为背景,我相信如果您将鼠标悬停在列上以获取工具提示,则可能存在百分比数字。
我知道您不是第一个错过百分比列的人,JMC Jira中有一个增强请求:https://bugs.openjdk.java.net/browse/JMC-5721
答案 1 :(得分:1)
在撰写本文时,JMC 7.1.2仍然没有机会查看CPU时间百分比。我发现使用VisualVM -> Sampler-> Display-> CPU
读取jfr文件有很大的帮助