リソースモニタなどでCPUをモニタリングする指標として、Load AverageとCPU Utilization(使用率)がありますが、 それぞれどういう意味か曖昧になっていたので調べてみました。 Load Averageは実行キューのプロセス数とI/Oなどでシグナル受信不可(uninterruptible)のプロセス数の合計 BSD系のカーネルはuninterruptibleなプロセスは含まないらしい /proc/loadavgから1,5,15分の平均プロセス数が取得できる この数がCPUのコア数より多いと、実行中なのにCPU時間が割り当てられていないプロセスが存在する→パフォーマンス低下 CPU使用率が100%未満でも、I/O待ちのプロセスが多いとLoad Averageが上がる 同じCPU使用率100%でも、コア数が違うとかかっている負荷が違う。Load Averageはコア数が違っ