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%us と 20%sy を示しているため両方の非常に高い値 - ちなみに、これはシステムがどのように感じるかです: 非常に遅い :-( システムはほとんど常にこの状態にあります: すべてのプロセスの CPU が非常に低いですが、ユーザー + システム CPU は高いです。誰か説明できますか?なぜ top ツールの出力にこれほど高い矛盾があるのでしょうか? また、ユーザー + システムの CPU 使用率が高い原因を突き止めるには、どのツールを使用すればよいでしょうか? top はここでは役に立たないようです。
更新:その間、私はこのスレッドを見つけましたhere、同様の質問について説明していますが、そこに何が書かれているのか確認できません:
- コマンドuptimeは、1/5/15 分あたりの平均 CPU 使用率を示します。
- これは、トップの最初の行が%us+%sy の合計として出力するものに近いものです。しかし、これはもっと変化しています。10 秒あたりの平均でしょうか?
- 一番上の出力をより長く見ても、%us+%sy の合計は常にすべての %CPU の合計よりも数倍高くなります。
ありがとうアキム