VisualVM和自我时间

And*_*dyF 61 java cpu performance profiling visualvm

我一直在寻找对VisualVM上下文中"自我时间"实际引用的一致而清晰的解释,以及它与"自我时间(cpu)"的区别.'自我时间[%]'也指自我时间或自我时间CPU.

似乎没有太多关于此的文档,或者至少我没有找到它.所以任何想法/意见将不胜感激.

Tom*_*rka 85

"自我时间"是在方法本身中花费的"挂钟"时间(在该方法调用的方法中没有时间).'self time(cpu)'是一个时间处理器时间,因此它不包括等待,休眠等所花费的时间.采样器中的"自身时间"和"自我(cpu)时间"都是实际数据的近似值.'自我时间[%]'指'自我时间'.

  • 除此之外,即使这是一个老问题,如果它可以帮助某人 - 似乎'自我时间[%]'将指向您排序的任何自我时间列.因此,如果按"自我时间(CPU)"排序,%现在将占CPU时间的百分比 (17认同)
  • 是否正确地说"自我时间"将花费在未被检验的子方法中进行分析?因此,如果方法X调用方法Y和Z,并且没有检测方法Z,那么在方法Z中花费的任何时间都将是方法X的"自身时间"? (7认同)
  • @Marquez我刚刚通过运行两次分析验证了这一点:有和没有排除java.*包; 它完全像您怀疑的那样影响结果:在未检测的类中花费的CPU时间计入调用检测类的CPU自身时间; (6认同)