jVisualVM中采样和分析的区别
Posted
技术标签:
【中文标题】jVisualVM中采样和分析的区别【英文标题】:Difference between sampling and profiling in jVisualVM 【发布时间】:2012-08-21 05:45:54 【问题描述】:VisualVM 有两个单独的选项卡用于采样和分析。 VisualVM 中的采样和分析有什么区别?
【问题讨论】:
【参考方案1】:Sampling
意味着进行大量线程转储并分析堆栈跟踪。
这通常更快,不需要在您的字节码中进行运行时更改(这可能会破坏它),但也不太准确。
Profiling
表示instrumenting 您的类和方法,因此它们在运行时“报告”。这更准确,因为它计算每次检测方法的调用,而不仅仅是在转储完成时捕获的那些。然而检测意味着你的类的字节码被改变了,这可能会破坏你的程序。实际上,出于这个原因,在大型应用程序服务器(如 JBoss 或 WebLogic)上使用分析通常会导致一切死机或挂起。
【讨论】:
这是否意味着分析比抽样更准确,但会占用更多资源? 我发现每次使用采样来查明表现不佳的方法时,它都足够准确。我个人从不使用分析。以上是关于jVisualVM中采样和分析的区别的主要内容,如果未能解决你的问题,请参考以下文章