【问题标题】:what's the difference between sampler and profiler in JvisualVM?JvisualVM 中的采样器和探查器有什么区别?
【发布时间】:2017-02-01 00:42:07
【问题描述】:

我发现JvisualVM中有两个插件,一个是sampler,另一个是profiler。

我也发现他们有类似的用户界面,但是结果有很大的不同,那么他们的不同意味着什么?

为什么它们有很大的不同?

【问题讨论】:

    标签: java profiler visualvm jvisualvm


    【解决方案1】:

    一般:

    分析器一直在运行,因此它为您提供了完整的调用堆栈;在任何给定的时间点。

    采样器只在不同的时间点拍摄“快照”。

    问题是:当您“分析”所有内容时,这会显着减慢您的 JVM;它会在几秒钟内创建大量数据。想一想:分析器会记下发生的每一个方法调用!

    通常,当您“不知道”应用程序中发生了什么时,您最初会使用采样器。然后你只希望样本能告诉你一些事情;就像“嘿,在我们的 10 000 个样本中,我们大部分时间都在使用这种方法,这是为什么呢?”但是,一旦您更好地了解自己在“寻找”什么,您就会尝试执行完整的分析器运行,以捕获通向某个方法的整个调用链。

    然后是一些“中间立场”——你可以在其中描述“一切”,但排除事物。换句话说:大多数分析器允许您说“在这个或那个包中的类中分析方法”。但当然 - 排除包/层次结构只有在您已经非常清楚您打算调查的方向时才有意义。

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 2016-07-31
      相关资源
      最近更新 更多