回答:
top
またはuptime
コマンドを実行します。
$ uptime
19:36:03 up 5 days, 9:12, 8 users, load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days, 9:13, 8 users, load average: 0.05, 0.16, 0.21
/proc/loadavg
The first three fields in this file are load average figures
giving the number of jobs in the run queue (state R) or waiting
for disk I/O (state D) averaged over 1, 5, and 15 minutes. They
are the same as the load average numbers given by uptime(1) and
other programs.
私の負荷平均を考えてみましょう。0.05, 0.16, 0.21
つまり、最後の1分間で、平均で、0.05プロセスがリソースを待機しています。
負荷平均が2であることを心配する必要がありますか?一般に、負荷平均が使用可能なCPUの数よりも大きい場合、CPUスロットを待機する間、一部のプロセスがアイドル状態になる必要がありました。
負荷平均がの出力よりも小さい場合、nproc
心配する必要はありません。
参照:unix / linuxでの負荷平均とはどういう意味ですか? Braiamが指摘しているように、プロセスはCPUだけを待つ必要はありません:負荷平均とCPU使用量を理解する
システム負荷またはシステム負荷平均
これは実行キュー、つまりリソース(cpu、i / oなど)が利用可能になるのを待機しているプロセスのキューです。
シングルコアcpu
を、車としての橋とプロセスを備えた単一の交通レーンと考えてください。
今、この状況ではシステム負荷は
この数は、に従って正規化されていませんcpu
。マルチプロセッサシステムでは、デュアルコアプロセッサを使用している場合、負荷2は100%の使用率を意味し、クアッドコアを使用している場合、負荷4は100%の使用率を意味します。
を使用してシステム負荷を取得できます
uptime
cat /proc/loadavg
top
$ uptime 22:49:47 up 11:47、4 users、負荷平均:2.20、1.03、0.82
ここで、最後の3つの数値は、それぞれ1、5、および15分間のシステム負荷平均を表します。
上記の例は、最後の1分間に測定された実行キューで、平均で2.20のプロセスがスケジュールされるのを待っていることを示しています。
システム負荷はCPUコアの数に関連します。たとえば、クアッドコアCPU(4コア)がある場合、値1はシステム負荷が25%であり、4は100%であることを意味します。
端末の稼働時間を入力すると、次のようなものが表示されます。負荷平均、1、5、15分からの負荷である3列の数字。デュアルコアプロセッサがある場合、2は100%の使用率を意味し、1は50%の使用率を意味します。
2.0のシステム負荷はそれほど高くありません。マルチコアシステムでは、CPUがまだ部分的にアイドル状態になっている場合があります。
負荷平均は、CPUコアを一度に使用したいプロセスの数という観点から見たCPUコアの過負荷の尺度です。
以下は、シングルコア(シングルスレッド)CPUを想定しています。
0.0
CPUは何もしていません。プロセスがCPUの使用を開始する場合、それを使用するのはそれだけです。
1.0
CPUは最大使用率ですが、CPUを使用するためのプロセス間の競合はゼロです。つまり、1つのプロセスのみが実行されているため、CPU時間の100%を要求することができます。または、複数のプロセスが実行されていますが、100%CPUを要求しているプロセスはなく、それらの合計CPU使用率は100%になります。CPUを完全に使用している場合でも、実行速度と同じ速度で実行されています。
1.0より大きい
CPUは最大使用率であり、CPUを排他的に使用している場合に実行できるよりも遅い速度で実行しているため、複数のプロセスが同時に使用することを希望しています。たとえば、負荷平均が3.0の場合、プロセスは実行したい速度の3分の1で実行されています。負荷平均50.0は、他のすべてのプロセスが実行されているため、プロセスが実行したい速度の1/50で実行されていることを示します。つまり、1.0よりも高い数値は、使用可能なCPUがより多くのアクティブプロセスに分割されていることを示しています。
マルチコアCPUを使用しても、図の意味は変わりませんが、解釈方法が変わります。たとえば、4コアのCPUがある場合、1.0の負荷は、1つのコアで100%CPUを使用する1つのプロセスと同等ですが、他の3つのコアがあります。したがって、4コアCPUでは、最大効率のポイントは1.0ではなく4.0であり、すべてが1/3の効率で実行されるポイントは3.0ではなく12.0です。複雑さを増すために、単一のプロセスに複数のスレッドがあり、それぞれが独自のCPUを要求している場合があります。したがって、1つのプロセスがマルチスレッドの場合、4つのコアすべての100%を使用できます。