VisualVM中的采样和分析之间的区别

问题描述 投票:152回答:1

VisualVM有两个单独的选项卡,用于采样和分析。 VisualVM中的采样和分析有​​什么区别?

java jvm heap jvisualvm
1个回答
179
投票

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

Profiling的意思是instrumenting你的类和方法,因此无论何时运行它们都会“报告”。这更准确,因为它计算了每次调用检测方法的次数,而不仅仅是在转储完成时捕获的那些。但是,检测意味着更改了类的字节码,这可能会破坏您的程序。实际上,出于这个原因,在大型应用程序服务器(如JBoss或WebLogic)上使用分析通常会导致所有内容死亡或挂起。

© www.soinside.com 2019 - 2024. All rights reserved.