Java VisualVM 中的 "total time (CPU)" 是否包含 CPU 用于执行其他进程的时间?

does "total time (CPU)" in Java VisualVM contain time which CPU spent executing other processes?

CPU VisualVM 的 CPU 分析器选项卡中的 "total time (CPU)" 列是否包含 CPU 用于执行其他进程的时间?

例如,让我们考虑这样的情况:

Java VisualVM 的 CPU 分析器选项卡的 "total time (CPU)" 列中显示的时间是 2 秒还是 3 秒?

报告 CPU 时间时,探查器将报告 JVM 本身花费的时间(可能包括 "system" 时间)。

CPU 浏览器使用的时间不应计入 CPU 时间列。如果是 / 则列标题 应该 是 "elapsed" 或 "real" 时间。

如果您对此没有信心,请编写一些简单的测试程序并对其进行分析:

  • 查看当您的应用程序调用 Thread.sleep(....)

  • 时探查器报告的内容
  • 当您的应用程序从 System.in.

  • 读取一行时发生阻塞,请查看探查器报告的内容