VisualVM and Self Time

70

我一直在寻找一份关于VisualVM中“self time”究竟是什么以及与“self time (cpu)”有何区别的一致且清晰的解释。而“self time [%]”是指self time还是self time cpu呢?

似乎没有太多关于这方面的文档,或者至少我没有找到。因此,任何想法/意见都将不胜感激。

1个回答

98
  • 自身时间是方法本身消耗的挂钟时间包括等待/休眠时间)。
  • 自身时间 (CPU)处理器时间,因此不包括花费在等待、休眠等的时间。

  • 两列都不包括在该方法中调用的方法所花费的时间。
  • 采样器中的自身时间自身时间 (CPU)都是实际数据的近似值
  • 自身时间 [%]是指所选两个自身时间 [(CPU)]列中的其中一个。

18
即使这是一个老问题,我想补充一点内容,以防对某些人有所帮助——似乎“自身时间[%]”将与您排序的任何自身时间列相关。因此,如果您按“自身时间(CPU)”排序,则百分比将是CPU时间的百分比。 - Matt
8
“自身时间”是指在未被配置用于性能分析的子方法中所花费的任何时间,这么说对吗?例如,如果方法X调用方法Y和Z,而方法Z未被配置,则在方法Z中花费的任何时间都将成为方法X的“自身时间”吗? - Marquez
7
我已经运行了两次性能分析,一次是包括java.*包,另一次是排除java.*包;正如你所怀疑的那样,结果受到影响:未被检测仪器化的类所花费的CPU时间会计入调用仪器化类的CPU自身时间中。 - derwiwie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接