jVisualVM中采样与性能分析之间的区别


158

VisualVM有两个单独的选项卡,用于采样和性能分析。在VisualVM中采样和配置文件有什么区别?

Answers:


182

Sampling意味着要进行大量的线程转储并分析堆栈跟踪。这通常更快,不需要在字节码中更改运行时(这可能会破坏它),但准确性也较低。

Profiling意味着检测您的类和方法,以便它们在运行时“报告”。这是更准确的,因为它不仅计算完成转储时捕获的那些方法,而且还计算每次检测的方法调用。但是,检测意味着更改了您的类的字节码,这可能会破坏您的程序。实际上,由于这个原因,在大型应用程序服务器(例如JBoss或WebLogic)上使用概要分析通常会导致一切死机或挂起。


2
这是否意味着配置文件比采样更为准确,但是会占用更多资源?
Parag

10
我发现,每当我使用抽样来找出性能不佳的方法时,抽样就已经足够准确。我个人从不使用分析。
Marquez
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.