在一个freeBSD的机器上 – TOP的CPU空闲是0%,但是没有进程占用cpu

在一个FreeBSD的机器上,当我在启动一个进程x后执行TOP:

CPU状态:34.4%的用户,0.0%的好,64.8%的系统,0.8%的中断,0.0%的空闲

这里,空闲0%。

但最高的cpu使用过程是使用约3%的x。 而没有其他的过程花费太多。 我也用PSvalidation了它。

我如何理解这种行为? 这里发生了什么?

0%的空闲意味着,一切都被用完了? 我什么都不能做了 而且,所有CPU使用情况的总和应该是100%?

请阅读3月份的“Linux Journal”杂志上的这篇文章 。

它解释了很多不同的方法来找出究竟是什么放缓你的系统。 它向您展示了如何检查CPU使用情况,RAM /交换问题和I / O。

很明显,用户+系统+ +中断= 100%,所以很正确。 这不仅仅是正在运行的“用户空间”stream程利用率。

系统可能执行的任务是磁盘交换,I / O等待等。检查其他日志(可能是磁盘失败),调查内存利用率(可能交换)等。

你能分享完整的输出,负载,内存利用率等? 这是什么平台(所以我们可以build议一些其他常用工具,以了解正在发生的事情)?

假设这不是I / O等待(为什么I / O不在顶部的那个列表中等待?),请检查一些后续的ps或在快照之上,看看你是否有一个在循环中分叉和死亡或重新生成的进程。 每个进程不会使用太多的CPU,但是所有分叉可以将系统CPU提高。

当硬盘需要不断地寻找,整体吞吐量受到很大影响的时候,我已经看到了这种行为。

systat -vmstat显示了什么? 磁盘是否忙?