CentOS 6.4のブレードサーバーがあります。
アイドル状態では、1を超える一定の負荷平均を示します。ただし、同じハードウェアとCentOSバージョンを持つ別のマシンを準備しましたが、アイドル状態のときの負荷平均はほぼ0のままです。
Topの出力は次のとおりです。
top - 10:23:04 up 156 days, 18:15, 1 user, load average: 1.08, 1.35, 1.31
Tasks: 534 total, 1 running, 533 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65959040k total, 10021484k used, 55937556k free, 167092k buffers
Swap: 32767992k total, 13884k used, 32754108k free, 7084024k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20951 root 20 0 15396 1608 952 R 0.3 0.0 0:01.52 top
1 root 20 0 19352 684 472 S 0.0 0.0 0:01.64 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:15.31 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:12.32 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:17.45 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:16.26 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:18.51 ksoftirqd/1
完全にアイドル状態のときにシステム負荷平均が1を超える原因となっているプロセスはどれですか?
負荷平均は、それが何を意味すると思うかを意味するものではありません。これは、瞬時のCPU使用率ではなく、実行を待機しているプロセスの数です。 通常これは、多くのことがCPUを必要としているためですが、常にそうであるとは限りません。一般的な原因は、IO-ディスクまたはネットワークを待機しているプロセスです。
実行してみてくださいps -e v
およびプロセス状態フラグを探します。
state The state is given by a sequence of characters, for example, "RWNA". The first character indicates the run state of the process:
D Marks a process in disk (or other short term, uninterruptible) wait.
I Marks a process that is idle (sleeping for longer than about 20 seconds).
L Marks a process that is waiting to acquire a lock.
R Marks a runnable process.
S Marks a process that is sleeping for less than about 20 seconds.
T Marks a stopped process.
W Marks an idle interrupt thread.
Z Marks a dead process (a "zombie").
これはps
のマンページからのものであるため、詳細を確認できます-R
およびD
プロセスはおそらく特に興味深いものです。
上位の出力には次のものが含まれます。
Tasks: 534 total, 1 running, 533 sleeping, 0 stopped, 0 zombie
その1つの実行中のプロセスが、負荷平均の原因です。それを見つけて、それが何をしているのかを理解してください。 (編集:コメントで述べたように、そのrunning
プロセスはおそらくtop
です。したがって、それは無視してください)