ロードアベレージ 【load average】
概要
ロードアベレージ(load average)とは、コンピュータの負荷を表す指標の一つで、ある期間にCPUによる実行待ちの状態にあるプロセスやタスクの数の平均値。この値が大きいほど性能に対して負荷が過大になっている状態を表す。現代のコンピュータではCPU(や内部のコア)の数よりも多くのプログラムを同時に実行状態に置くことができ、オペレーティングシステム(OS)がCPUの実行時間を細かく分割して循環的に切り替えて少しずつ処理を進めている(マルチタスク)。
しかし、見かけ上たくさんのプログラムを並行して実行することができても、ある瞬間に処理を進められるのはCPUコア一つにつき一つであるため、多数のプログラムを同時に動かそうとすると処理が追いつかずどのプログラムも遅々として処理が進まない状態に陥る。
このような負荷が過剰な状態に陥っていないかを知ることができるのがロードアベレージで、ある瞬間に(I/O待ちなどはなくすぐに実行可能だが)実行を待っているプロセスの数を表す。実際にはスレッド単位で数えることが多く、一定の調査期間中(例えば1分)の平均値とする。
実質的に何の処理も行っていないアイドル状態では「0」に近い値になる。現在CPUが実行中のプロセスを「1」にカウントするかどうかはシステムによるが、含まれる場合「1」に近い値でもCPUの空きを待っているプロセスは存在しない。ロードアベレージはコンピュータ全体で合算した値であるため、複数のコアがある場合はコア数と同じ値までは待ちプロセスが無いことを意味する。
LinuxなどUNIX系OSでは、uptimeコマンドやtopコマンドで直近のロードアベレージの値を知ることができる。これらのコマンドはシステムが計測・記録した直近1分、5分、15分のロードアベレージを並べて表示してくれる。
(2021.10.20更新)