CPU 负载高,但顶级进程都在 0% 左右

CPU 负载高,但顶级进程都在 0% 左右

我们的服务器负载和 CPU 利用率异常高,但我们不知道原因。当我们运行 top 时,所有进程的 CPU 利用率似乎都很低。

http://cl.ly/2d1g0K3q261r0R0K3e35

有没有更好的方法来查找导致这种情况的原因?

答案1

我认为这个错误是你的情况。从输出中我看到的,你有足够的内存(注意缓存的 14 GB 左右),没有 I/O 问题,但你正在运行与 xen 相关的进程。这让我认为这是一个错误。

答案2

负载是衡量系统在 1、5 和 15 分钟内的工作负荷的标准。

最常见的误解是平均负载仅与系统的 CPU 使用率有关。
然而,负载确实包含其他测量值,例如 CPU 等待 I/O,我认为这就是您的问题。

根据图像,我猜测您内存不足并开始将数据交换到磁盘。

一个简单的free -m命令就能告诉你使用了多少 RAM 和交换空间。
有趣的是旁边的空闲列-/+ buffers/cache
如果它接近于零,则说明你的 RAM 已经用完了,应该采取相应的措施。

答案3

注意到平均负载相当高(68,哇)。是否有可能有很多进程占用了一点 CPU,因此加起来消耗了所有的 CPU 时间?也许这些进程启动和结束得非常快,因此 top 无法捕获它们的存在,您可以尝试看看 atop 是否可以看到。

答案4

尝试使用:

top -o cpu

-o标志将强制 top 按 CPU 使用率降序排列进程。

相关内容