VisualVM 未显示任何调用 CPU 性能分析的方法

Posted

技术标签:

【中文标题】VisualVM 未显示任何调用 CPU 性能分析的方法【英文标题】:VisualVM Not showing ANY methods called for CPU Performance Profiling 【发布时间】:2011-07-08 03:10:37 【问题描述】:

我正在运行 Java 1.6_21 SDK 构建应用程序。它是在 Eclipse 中构建的,我正在使用 VisualVM eclipse 插件在应用程序启动时启动 VisualVM。

当我转到 Profile 选项卡并单击 CPU profiling 时,它只显示正在运行的 THREADS,但不显示任何 METHOD 调用。几乎没有。我用谷歌搜索了一大堆东西,但似乎没有合适的东西。有人见过这个问题吗?有解决办法吗??

环境:Windows XP 32 位 “经典”Eclipse SDK 3.7.0 SDK 1.6_21 中的 VisualVM

这对我来说没有任何意义。我可以获得内存堆信息,但零成员调用信息。

非常感谢任何帮助。

【问题讨论】:

好的,终于想通了。我还需要将“配置文件起始类”设置为低于默认设置的基本包。感谢您为我指明正确的方向,Ananatha! 【参考方案1】:

您是否尝试过设置要分析的类。

选择窗口右上角的设置复选框并设置需要分析的包。

【讨论】:

我已经尝试过:* 设置“仅配置文件”并将其完全设为空,然后检查哪些包正在被配置文件。它只是最顶层的 Thread 类,以及所有的 java.lang.类。 * 设置特定的包树(例如:my.package.*)同样的事情。事实上,例如,如果来自 my.package.thread.* 的线程类 com 和我想要分析的类是 my.package.stuff.*,并且我明确设置了 my.package.stuff.*,它仍然只显示我的.package.thread.*【参考方案2】:

请参阅 Profiling With VisualVM, Part 1 和 Profiling With VisualVM, Part 2 了解如何设置 CPU 设置。

【讨论】:

【参考方案3】:

我注意到 Visual VM 报告了不正确的方法调用样本计数(我相信这些是指方法被调用的次数)。

【讨论】:

以上是关于VisualVM 未显示任何调用 CPU 性能分析的方法的主要内容,如果未能解决你的问题,请参考以下文章

了解 visualvm 分析器中的 CPU 时间

为啥在 VisualVM 中 CPU 时间大于挂钟时间?

远程启动 Java CPU Profiler,如 VisualVM,但自动化

在 VisualVM 中哪里可以找到时间(CPU)列?

如何使用jvisualvm进行cpu或内存抽样

VisualVM Sampler CPU swing paint() 怪异