我使用了visualvm的cpu sampler来记录我的应用程序的行为,以找到性能瓶颈。我可以在实时热点视图中看到一些有趣的结果,但是当我从实时视图中拍摄快照以供以后工作时,该快照中的热点是完全不同的。这张照片解释得非常好:http://tinypic.com/view.php?pic=auhx0j&s=6
这种不一致怎么可能?也许我不明白实时视图和快照是什么,有人可以澄清一下吗?
答案 0 :(得分:1)
我也在寻找采样器和快照热点之间不一致的原因。由于我在这里或其他任何地方都找不到解释,所以我想自己弄清楚。
tl; dr
快照视图的可视化中最有可能是一个错误,因为它似乎没有完全遵守sun.*
等排除包,这些包在启动采样器时已默认设置。
我是如何得出结论的?
好吧,我使用了不同的程序包排除设置,将它们全部关闭,诸如此类,等等,并且总是看着采样器和快照视图进行比较。
尽管我排除了java.*, sun.*
软件包,但它们仍显示在快照视图中,而不显示在采样器视图中。我仍然没有得到的是,当我删除所有程序包排除项时,无论排除哪些程序包,快照和采样器视图都是每个人都会期望的。
到目前为止,我的两分钱。采样愉快!
答案 1 :(得分:0)
看起来很奇怪。如果您可以提供如何重现它的步骤,我将很乐意对其进行调查。