如何解释visualvm cpu示例与从中创建的快照之间的不一致?

时间:2013-03-26 10:54:46

标签: performance profiling visualvm

我使用了visualvm的cpu sampler来记录我的应用程序的行为,以找到性能瓶颈。我可以在实时热点视图中看到一些有趣的结果,但是当我从实时视图中拍摄快照以供以后工作时,该快照中的热点是完全不同的。这张照片解释得非常好:http://tinypic.com/view.php?pic=auhx0j&s=6

这种不一致怎么可能?也许我不明白实时视图和快照是什么,有人可以澄清一下吗?

2 个答案:

答案 0 :(得分:1)

我也在寻找采样器和快照热点之间不一致的原因。由于我在这里或其他任何地方都找不到解释,所以我想自己弄清楚。

tl; dr

快照视图的可视化中最有可能是一个错误,因为它似乎没有完全遵守sun.*等排除包,这些包在启动采样器时已默认设置。

我是如何得出结论的?

好吧,我使用了不同的程序包排除设置,将它们全部关闭,诸如此类,等等,并且总是看着采样器和快照视图进行比较。 尽管我排除了java.*, sun.*软件包,但它们仍显示在快照视图中,而不显示在采样器视图中。我仍然没有得到的是,当我删除所有程序包排除项时,无论排除哪些程序包,快照和采样器视图都是每个人都会期望的。

到目前为止,我的两分钱。采样愉快!

答案 1 :(得分:0)

看起来很奇怪。如果您可以提供如何重现它的步骤,我将很乐意对其进行调查。