解決策 1:
<ブロック引用>これにより、システム負荷がどの程度高くなるかという疑問が生じます。たとえば、2.00 から 100.00 まで上がることは可能ですか?
絶対。 uptime
を見る マニュアルページ:
System load averages is the average number of processes that are either
in a runnable or uninterruptable state. A process in a runnable state
is either using the CPU or waiting to use the CPU. A process in unin‐
terruptable state is waiting for some I/O access, eg waiting for disk.
The averages are taken over the three time intervals. Load averages
are not normalized for the number of CPUs in a system, so a load aver‐
age of 1 means a single CPU system is loaded all the time while on a 4
CPU system it means it was idle 75% of the time.
したがって、実行を待機しているプロセスが多数ある場合 (または I/O を待機しているプロセスがブロックされている場合) は、負荷平均が高くなります。この記事では、それについて詳しく説明し、他のリソースへの便利なリンクを掲載しています。
負荷のないシステムでは、通常、負荷平均は 0 <=load_average <=n の範囲になります。 、ここで n システムのコア数です。
解決策 2:
生きているシステムが数千に上るのを見てきました。負荷平均は、待機中のプロセスに基づいて、カーネルの注意を引き、CPU で一定の時間を確保するために競合がどの程度あるかを示す相対的な尺度です。マシンが大量のジョブやクラッシュの場合、長い時間がかかる可能性があります。
どのレベルが許容されるかは、マシン、コア数、使用中のカーネル ジョブ スケジューラの種類、実行するジョブによって異なります。 ~10 の範囲では非常に満足しているマシンがいくつかありますが、~40 ~ 50 に達すると動きが鈍くなります。他のものは 2 で著しくラグが生じ、10 で使用できなくなります。
多くのことが一度に実行され、マシンが終了しているため、ブート中に負荷が高くなることは珍しくありません。デスクトップ Linux の起動中にヒットする負荷は ~1 であり、その後は何もせずに ~0.1 に落ち着くと考えます。
解決策 3:
Linux では、システム負荷の平均値は、3 つの異なる状態のいずれかにあるプロセスで構成されます。一般に、負荷平均は、CPU 時間を待機している、または CPU 時間を消費しているプロセスの量であると言えます。負荷平均概要の 3 つの値は、過去 1 分間、過去 5 分間、および過去 15 分間の負荷平均です。
負荷平均にカウントされるプロセスの 3 つの異なる状態は、(1) CPU で実行中のプロセス、(2) CPU 時間を待機しているプロセス、(3) 割り込み不可能なスリープ中のプロセスです。最後のカテゴリは、CPU 負荷を生成しませんが、システム負荷平均を大幅に増加させる可能性があります。
たとえば、非常にビジーまたは使用できないディスクからの読み取りを待機している 12 のプロセスは、プロセスが中断されないスリープ状態にあるため、負荷平均 12 を生成しますが、CPU はその間完全にアイドル状態になる可能性があります。
したがって、はい、負荷平均は簡単に 2 桁まで上がる可能性があります。それがどれほど悪いかは、ハードウェアに依存します。 16 個のコアがある場合、16 個のプロセスが CPU 時間を待機することはそれほど悪くありません。シングル コア マシンでは、3 つのプロセスが CPU 時間を待機することは非常に悪いことです。
解決策 4:
10000 スレッドで無限ループを実行する単純な C プロセスを作成します。非常に低い優先度 (+20) を指定します。負荷は 10000 になりますが、システムは引き続き使用できます。非常に少数の RAM (多くても数メガバイト) しか使用しません。
これは非常に珍しい構成ですが、実際のシステムではこれを見つけることはできません。
システム負荷は、CPU タイムスロットを待機しているプロセスの平均数のみを意味し、それ以下でもそれ以上でもありません。システム負荷を解釈する適切な方法に関する別の回答を次に示します。
日常の経験では、負荷が 30+ を超えると、ほとんどが何らかの問題を意味します。
解決策 5:
古い 450Mhz CPU を消費していたプロセスを強制終了してから数秒後: