我如何阅读htop


9

我在理解htopLinux top命令的流行替代品显示的信息时遇到了麻烦。

htop屏幕转储

在上面的屏幕截图中,列出了许多Java实例,但是只有父实例使用CPU时间。还有什么?

当CPU%列显示的所有进程中发生的事情都不多时,为什么CPU利用率栏显示如此繁忙的内核?实际上,它们大多数时候都没有关联地运动。

当核心几乎总是绿色且看上去很忙时,为什么右上角的平均负载(为什么我认为是3步历史)这么低?

有人会这么善良地解释如何阅读此信息吗?

谢谢!


我进行了一些更改,这些更改很有帮助。以差异颜色显示线程,显示线程名称,在刷新时更新进程名称,主要是将延迟更改为2/10秒。默认更新速度仅显示CPU计量表和进程之间的巨大滞后。
路加·普普利特

1
至少对于平均负载而言,这不一定是一个低值。负载实质上是系统是否必须等待做某事的指标。可接受的值小于内核数,在这种情况下为4。因此,这些平均值是合理的。他们是最后的1、5和15分钟。有关更多信息,请参见[Wikipedia](en.wikipedia.org/wiki/Load_
computing

Answers:


5
  1. 关于“负载”和CPU%,维基百科有详细的说明和示例,以下为部分引用

    空闲计算机的负载数为0,使用或等待CPU(就绪队列或运行队列)的每个进程将负载数增加1。大多数UNIX系统仅对正在运行(在CPU上)或可运行(在等待中)的进程进行计数。 CPU)状态。但是,Linux还包括处于不间断睡眠状态(通常等待磁盘活动)的进程,如果由于I / O系统繁忙或停滞,许多进程仍在I / O中阻塞,则可能导致截然不同的结果。例如,这包括由于NFS服务器故障或介质(例如USB 1.x存储设备)变慢而导致的进程阻塞。这种情况可能会导致平均负载升高,这并不能反映出CPU使用量的实际增加(但仍然可以让用户知道需要等待多长时间)。

    系统将平均负载计算为负载数量的指数衰减/加权移动平均值。平均负载的三个值是指系统运行的过去1分钟,5分钟和15分钟。

    对于受CPU限制的单CPU系统,可以将平均负载视为各个时间段内系统利用率的百分比。对于具有多个CPU的系统,必须将数字除以处理器数量,以获得可比的百分比。

    条可能正在忙碌移动,但从未达到100%,这表明CPU /核心已被充分利用。条形图仅是cpu利用率%(分别为27%,26.5%,24.5%,24.7%和71.7%)的可视化。所有cpu内核仍然具有“备用”功能。那时它们都在被利用。

    充分利用的5核心/ cpu系统将具有5或更高的负载。

  2. 关于Java行,它们是父进程(PID = 5073)和子进程。我无法解释为什么父母会累积最多的CPU时间。那真的取决于程序的内部逻辑。但是,根据TIME +,那些子进程确实消耗了CPU时间,最后一个(PID = 5074)累积最多。


子进程是否可能是JVM线程池?当我设置显示线程名称的选项时,它们都被命名为相同的名称。我是Windows + .NET程序员,仅供参考。
路加·普普利特

是的,它们可能是线程。
John Siu 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.