システムの負荷はどのくらい高くなりますか?


12

SSH経由でサーバーにログインするたびに、サーバー情報が少し表示されます。IEのIPアドレス、スワップ使用量、メモリ使用量など。フラッシュするのはシステム負荷です。現在、ほとんどの場合、システムの負荷数は0.10未満ですが、それ以外の場合は、0.89まで上昇することが確認されています(通常はブート前後)。

これにより、システムの負荷はどのくらい高くなるのでしょうか。たとえば、100.00でも2.00まで上がることは可能ですか?


小数部はCPU使用率、小数部は待機中のプロセス数を示します。のようなもの100.89はより可能性が高い100.00
Lekensteyn


@Caleb、私はそれが複製であることに同意しません。OP が「システムの負荷はどれほど高くなる(そして許容できるほど実行できる)か?」のような類似のものを尋ねるつもりであった可能性があります。しかし、言ったように、それは同じ質問ではありません。
サイクロプス2011年

@Cyclops:OPがサーバーの許容レベルについて質問するつもりがなく、* nixシステムがどのように機能するかについて純粋に理論的な質問をしていた場合、それはここでの話題ではなく、unix.SEへの移行の候補ですか?
カレブ

回答:


17

これにより、システムの負荷はどのくらい高くなるのでしょうか。たとえば、100.00でも2.00まで上がることは可能ですか?

もちろんです。uptimemanページを見る:

   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はシステム上のコアの数です。


1
はい、I / Oを待機することは、大量の負荷を作成する簡単な方法です。NFS共有をマウントし、NFSサーバーをオンにして、NFS共有上の何かに触れようとする10.000プロセスを起動します。ブーム、10000の負荷
イェンスティマーマン

5

私は生きているシステムが数千を襲うのを見てきました。ロードアベレージは、カーネルの注目を得るためにどれだけの競争があり、CPUでしばらく時間が与えられるかという、待機中のプロセスに基づく相対的な測定値です。マシンがジョブで溢れたり、クラッシュしたりすると、長い時間がかかる可能性があります。

許容できるレベルは、マシン、コアの数、使用中のカーネルジョブスケジューラの種類、期待されるジョブによって異なります。私は、〜10の範囲でかなり満足しているマシンがありますが、〜40-50に達した場合、パフォーマンスが低下します。他のものは2で著しく遅れ、10で使用できなくなります。

一度に多くの処理が実行され、マシンが巻き上げられるため、負荷が高い間起動することは珍しいことではありません。デスクトップLinuxのdurringブートをヒットするために、通常の負荷を〜1にして、何もせずに〜0.1に落ち着かせることを検討します。


3
マイナー修正:負荷平均は時間の測定ではありません。待機しているプロセスの平均数です。1)CPUを占有する1つのプロセスとCPUを取得しない別のプロセス、および2)継続的にトレードオフする2つのプロセスの違いを区別する方法はありません。どちらも1.0のロードです。
Plutor

1
真面目にフーバーされたLinuxボックスで1500以上を見たことがあります。それから死んだ。
トムO'Connor

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時間を待機することは非常に悪い場合があります。


まれなことですが、CPUにバインドされたプロセスである場合にのみ、問題があると思います。ほとんどの大きなプロセスは、IOバウンドまたはRAMバウンドです。
peterh-モニカを

3

10000スレッドで無限ループを実行する単純なCプロセスを作成します。優先度を非常に低くします(+20)。システムがまだ使用可能な間、負荷は10000になります。使用するRAMはごくわずかです(最大で数メガバイト)。

これはごくまれな構成ですが、実際のシステムではこれは見つかりません。

システム負荷とは、CPUタイムスロットを待機している平均プロセス数のみを意味します。システム負荷を解釈する適切な方法についての別の答えは次のとおりです。

毎日の経験では、30以上の負荷は、主にいくつかの問題を意味します。



1

すぐにブロックするプロセスを繰り返し開始すると、負荷は、開始を管理したプロセスの数と同じくらい高くなります。システムがスワップしない十分なRAMがあると仮定すると、ブロックプロセスによる負荷が実際に害を及ぼすことはないため、システムは応答性を維持します。


1

負荷が200を超えるサーバーが実行されているのを見ました。

私はストレステストをして見てみました。

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