我正在使用在Debian下运行的单核小型ARM处理器,并且在理解top的cpu利用率输出时遇到问题,请参阅:
top - 15:31:54 up 30 days,23:00,2 users,load average: 0.90,0.89,0.87
Tasks: 44 total,1 running,43 sleeping,0 stopped,0 zombie
cpu(s): 65.0%us,20.3%sy,0.0%ni,14.5%id,0.0%wa,0.0%hi,0.3%si,0.0%st
Mem: 61540k total,40056k used,21484k free,0k buffers
Swap: 0k total,0k used,0k free,22260k cached
PID USER PR NI VIRT RES SHR S %cpu %MEM TIME+ COMMAND
26028 root 20 0 2536 1124 912 R 1.9 1.8 0:00.30 top
31231 root 19 -1 45260 964 556 S 1.9 1.6 1206:15 owserver
3 root 15 -5 0 0 0 S 0.3 0.0 0:08.68 ksoftirqd/0
694 root 20 0 28640 840 412 S 0.3 1.4 468:26.74 rsyslogd
列%cpu在所有进程中都非常低,在此示例中它们总共为4,4%(以下所有其他进程均为0%)
但是第3行的全面cpu显示65%我们和20%sy,所以对于非常高的价值 – 顺便说一下,这就是系统的感觉:非常慢:-(
系统几乎总是处于这种状态:所有进程的cpu都很低,但用户系统cpu却很高.
任何人都可以解释为什么顶级工具输出中存在如此高的不一致性?
我可以使用什么工具来更好地找出导致高用户系统cpu利用率的原因 – 这里顶部似乎没用.
更新:同时我找到了这个线程here,它讨论了一个类似的问题,但是我无法验证那里写的是什么:
>命令正常运行时间显示每1/5/15分钟的平均cpu利用率
>这接近于最高输出的第一行作为%us%sy的总和.但这种情况正在发生变化,可能是每10年的平均值?
>即使在最高输出上查看较长时间,%us%sy的总和也总是比所有%cpu的总和高几倍
谢谢
阿希姆