为什么VisualVM的分析器没有"看到"所有类/方法

时间:2016-02-09 16:25:13

标签: java visualvm

当我使用OpenJDK的visualvm工具分析应用程序时,我无法看到确实调用的方法。我看到由它们生成的日志消息。此外,我可以在Eclipse中以调试模式运行应用程序,并在代码中设置断点(当分析处于活动状态时),这些断点在执行到达时被激活。当我在那里等待几分钟直到我恢复执行时,我想我应该在剖析器中看到那些暂停的方法。当我使用我的用例运行应用程序来初始化并实例化应用程序中所需的所有对象,然后我连接到探查器,即使这样我也看不到所有方法。此外,我注意到它不计算所有方法调用...有时它只计算几个调用,实际上有数千个调用记录到日志文件。

有没有人知道为什么类/方法及其调用没有被"看到"在visualvm?

我多次检查过,并且我没有在分析器上应用任何过滤器,因此每个方法调用,甚至Java API的方法都应该进行分析。

我也尝试使用-Djava.compiler = NONE,但除了应用程序运行时间增加之外唯一的影响是分析器似乎在几秒钟后停止收集数据并且从未恢复/更新其统计信息。 将-Xint添加到jvm时,我可以在分析器中看到更多方法,但它仍然没有显示很多相关的"方法

由于visualvm的行为,没有显示类/方法(热点编译器处于活动状态),没有更新统计信息,我认为这个工具不是很有用。

我是否想念visualvm?

我正在使用visualvm 1.3.8(Build 140703);平台20141108-debian- 与1.7.0_95; OpenJDK 64位服务器VM(24.95-b01,混合模式),但应用程序使用Java 1.6或Java 1.7执行。

0 个答案:

没有答案