jtop cpu秒

时间:2011-07-06 07:25:37

标签: java performance cpu visualvm jconsole

我在VisualVM中使用JConsole的JTOP插件。它有点像CPU(秒)的使用。我试图理解这个的含义,是吗?

  • a)theead的时间(以秒为单位) 运行CPU。
  • b)时间(以秒为单位) 线程开始运行第一个 时间(可能不会一直运行)
  • c)其他时间?

感谢您的期待。

2 个答案:

答案 0 :(得分:1)

我会说这是a),即。到目前为止线程在CPU上运行的时间。

它实际上是ThreadMXBean的ui。

从那个JavaDoc:

  

如果实现区分用户模式时间和系统模式时间,则返回的CPU时间是当前线程在用户模式或系统模式下执行的时间。

这意味着整个CPU时间也是执行时间。

答案 1 :(得分:1)

如果您指的是JDK发行版的demo / management文件夹中的JTop Jconsole插件: 它使用ThreadMXBean.getThreadCpuTime(long)来获取cpu时间。此方法的javadoc指出:

  

以毫微秒为单位返回指定ID的线程的总CPU时间。返回值的精度为纳秒,但不一定是纳秒精度。如果实现区分用户模式时间和系统模式时间,则返回的CPU时间是线程在用户模式或系统模式下执行的时间量。

     

如果指定ID的线程不活动或不存在,则此方法返回-1。如果禁用CPU时间测量,则此方法返回-1。如果一个线程已经启动并且还没有死亡,那么它就是活着的。

     

如果在线程启动后启用了CPU时间测量,则Java虚拟机实现可以选择任何时间,包括启用该功能的时间作为CPU时间测量开始的时间点。

     

<强>返回:   如果指定ID的线程存在,线程处于活动状态,并且CPU时间测量已启用,则指定ID的线程的总CPU时间;否则为-1。

在插入表之前,该值被插件除以10E9,因此您可以看到进程在几秒钟内使用CPU的时间。