%CPU在顶部-H线程 – 是真正的CPU使用?

我在跑

top -H -b -n 1 

在一个Java应用程序的Linux上

我得到的结果标题:

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 

是我看到每个thread的CPU百分比一个真正的CPU,这意味着它不考虑线程浪费在等待锁等等,所以它纯粹是线程已经花在CPU上的时间。

如果你想了解更多关于进程I / O访问和CPU使用情况的信息,你可以看看iotop 。 该应用程序提供有关进程的信息,如input/输出信息。 Iotop使用来自/ proc文件的信息,这里是16528的例子。

cat / proc / 16528 / io
rchar:48752567
wchar:549961789
syscr:5967
syscw:67138
read_bytes:49020928
write_bytes:549961728
cancelled_write_bytes:0

我知道有可能把它叫做顶级bash模式。

iotop -botqqq –iter = 3 >> / var / log / iotop

你也可以看看dstat,但它就像顶级的,全球的系统不是特定的进程。

您没有线程locking信息。

如果你只看看java可能看看jconsole它使用ThreadMXBean getThreadCpuTime()函数。