システム負荷とは何ですか?


13

私の仕事ではUbuntu 12.04.03 CLIを実行しているデータリポジトリがあり、今朝ログインしたときに通常の情報を提供する代わりにチェックしていたので、システム負荷が2を超えているため情報を表示できませんでした私はこれが何を意味するのだろうと思っていましたか?応答しなかったため、再起動したばかりでした。起動してすべてを実行するプロセスと関係があるのでしょうか。

回答:


17

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使用量を理解する


これは非常に役立ちますが、再起動直後にこれまで見たことがないことを考えて、それがホットで実行されているはずですか?AMD Athlon(tm)64 X2 Dual Core Processor 4200+を実行しており、グラフィックスや余分なプロセスを実行していません。
ショーンG 14年

@SeanGは、他に何を実行するかによって異なります。1回限りのイベントである可能性があります。これが繰り返し発生する場合は、ブートチャートなどを使用して、ブート中に何が起こっているかを確認してください。
ムル14年

「つまり、最後の1分間で、平均で0.05プロセスがCPUを待機していたことを意味します。」実際にはこれは不完全であり、リソースはCPUだけでなく任意のハードウェアにすることができます。ディスク、ネットワーク、GPUなどである可能性があります
Braiam 14年

@Braiam true(ステートメントを単純化しすぎました)。私はグーグルのloadavg中にこのqに出くわしましたが、それを含めるとは思わなかった。
ムル14年

再起動直後、システムが集中的なinitシーケンスを実行した直後なので、負荷平均は実際に高くなる可能性があります。答えで説明したように、数値が通常の値に下がるまで数分かかります。期限切れのアナクロンジョブは期間を延長できます。
エミールイェジャベクはモニカをサポートします14

7

システム負荷またはシステム負荷平均

これは実行キュー、つまりリソー​​ス(cpu、i / oなど)が利用可能になるのを待機しているプロセスのキューです。

シングルコアcpuを、車としての橋とプロセスを備えた単一の交通レーンと考えてください。

今、この状況ではシステム負荷は

  • 0.0-道路に交通がない場合。
  • 1.0道路上の交通-Ifは正確に橋の容量です。
  • 1以上 -道路の交通量が橋の容量を超えており、車が橋を通過するのを待たなければならない場合。

この数は、に従って正規化されていません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のプロセスがスケジュールされるのを待っていることを示しています。


これは、負荷平均が何であるかを説明しません。
Braiam

答えに追加しました。
g_p 14年

2

システム負荷はCPUコアの数に関連します。たとえば、クアッドコアCPU(4コア)がある場合、値1はシステム負荷が25%であり、4は100%であることを意味します。


これは負荷平均とは何かを説明するものではなく、CPU%時間と負荷平均の関係については間違っています。
Braiam

0

端末の稼働時間を入力すると、次のようなものが表示されます負荷平均、1、5、15分からの負荷である3列の数字。デュアルコアプロセッサがある場合、2は100%の使用率を意味し、1は50%の使用率を意味します。


これは、負荷平均とは何かを説明するものではなく、CPU%時間と負荷平均の関係については間違っています。
Braiam 14年

1
はい、そうです。稼働時間マニュアルから:1の平均負荷は、1つのCPUシステムが常にロードされることを意味し、4 CPUシステムでは、75%の時間アイドル状態だったことを意味します。
EDID

CPU負荷と負荷平均の間に関係はありません。再び確かめる。
Braiam

0

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%を使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.