Java Mission Control Flight Recorder中没有记录CPU使用率

时间:2013-10-24 07:47:55

标签: java performance profiling jmc

今天我看了一下Java 7更新45中引入的Mission Control,并对Flight Recorder进行了一些测试。一切似乎都按预期工作,我得到了很多关于线程,内存和我测试的应用程序的数据。只有一件事对我来说似乎很奇怪:在“常规”类别中没有显示CPU使用情况,在CPU使用的图标下面只有句子“录制中没有事件”。当我不使用Flight Recording而是使用JMX控制台时,CPU使用率显示在同一个应用程序中。在创建Flight Recording期间,我将大部分设置保留为默认值,但确保在页面上“分析的事件详细信息”“操作系统/处理器/ CPU负载”已启用且配置周期为1000 ms,这应该足以使用几分钟的测试时间来获取一些数据。

有什么我想念的吗?也许是出于性能原因的限制,我需要激活其他东西?

感谢您的建议!

3 个答案:

答案 0 :(得分:3)

对不起有点迟到的回答,但我想我知道你的问题可能是什么:

您是否有机会运行本地化版本的Windows?

我设法引入了一个错误,我在其中硬编码PDH查询路径以使用" Process" PDH对象字符串,如:" \ Process(%s#%d)\%s"。当然,"过程"在本地化版本的Windows上不保证字符串,它应该通过注册表索引来解决。

我已经在9和8中解决了这个问题,我认为7行也有正在进行的后退。

请参阅此错误:https://bugs.openjdk.java.net/browse/JDK-8043323

由于 马库斯

答案 1 :(得分:0)

默认情况下,在JVM附带的两个模板中启用CPU负载(1000毫秒)。

如果不修改向导高级部分中的设置,是否会出现同样的问题?如果您只是从录制向导的第一页上的新模板上单击完成?

答案 2 :(得分:0)

感谢Kire Haglin的帮助,我知道要搜索什么,并发现以下错误:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8019921

我不明白的是关于backport-Bugs问题应该在u45修复:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8021038

但它仍然不适用于我和我的应用程序,如Eclipse,DbVisuliazer,Eclipse中的Tomcat等。看起来如果我能够重新打开错误,我会看看。

我的java -version输出:

  

Java HotSpot(TM)客户端VM(内置24.45-b08,混合模式,共享)

建议“b53”,如主要bug中所述,可能是JRE / JDK的下一个版本,问题得到修复。一个backport bug也被定位为JRE 7u60