CPU 負荷と CPU 使用率 これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使用率は、現在の CPU の忙しさを反映します。変動の理由は、CPU 処理時間を占有しているプロセスが IO 待機状態にあるが、待機状態にまだ解放されていない可能性があるためです。 ロードアベレージとは、一定時間内にCPU時間を占有し、CPU時間を待機しているプロセスの数を指します。ここで、CPU時間を待機しているプロセスとは、待機状態にあるプロセスを除いた、起動を待っているプロセスを指します。 上記の分析から、マシンはCPU使用率が低く、負荷が高い状況にある可能性が高いことがわかります。したがって、マシンの忙しさは、両方を組み合わせて見る必要があります。実際の使用状況の観察から、私のデュアルコアXeon 2.8GHZ、2Gメモリマシンの平均負荷は約50で、CPU使用率は100%に近づいています(アプリケーションのIO操作が多い)。この場合、アプリケーションはまだスムーズで、実際のアクセス遅延はそれほど高くありません。したがって、CPU がまだアイドル状態のときに、IO 応答をいかに改善するかが負荷を軽減する鍵となります。負荷が数十に達すると、マシンが非常に忙しいと考える人が多いです。このとき CPU 使用率が比較的低い場合、高負荷では問題を十分に説明できない可能性があります。CPU によって処理されたプロセスが完了すると、それらの待機中のプロセスもすぐに応答を得ることができます。この場合、IO 読み取りおよび書き込み速度を最適化する必要があります。平均負荷が 1 桁であっても (たとえば、特定のプロセスが常に実行されているなど)、CPU 使用率が常に 90% を超えている場合は、マシンは実際にはビジー状態です。 実は前回の記事でもCPU使用率が低いのに負荷が高いと書いてありました。CPU使用率が低いのに負荷が非常に高い理由は、高負荷はIOかもしれない CPU負荷のアナロジー システムが過負荷になっているかどうかを判断するには、負荷平均の真の意味を理解する必要があります。以下では、「Linux CPU 負荷の理解」という記事に基づいて、最も一般的な言語でこの問題を説明してみます。 システム負荷は 0.5 です。つまり、橋の半分に車が通っていることになります。 システム負荷が 1.0 の場合、橋のすべてのセクションに車があり、橋が「満杯」であることを意味します。しかし、この時点ではまだ橋は通行可能であったことに注意する必要があります。 システム負荷は 1.7 で、車両が多すぎて橋がすでに満杯 (100%) になっており、橋への搭乗を待っている車両が橋上の車両の 70% を占めていることを意味します。同様に、システム負荷が 2.0 の場合、橋への搭乗を待機している車両の数が橋のデッキ上の車両の数と同じであることを意味し、システム負荷が 3.0 の場合、橋への搭乗を待機している車両の数が橋のデッキ上の車両の数の 2 倍であることを意味します。つまり、システム負荷が 1 より大きい場合、後続の車両は待機する必要があり、システム負荷が大きいほど、橋を渡るのに待機する時間が長くなります。 CPU のシステム負荷は、基本的に上記の例えと同じです。橋の交通容量は CPU の最大作業負荷であり、橋の上の車両は CPU による処理を待機しているプロセスです。 CPU 負荷 - マルチプロセッサ 上記では、コンピューターに CPU が 1 つしかないことを前提としています。コンピュータに 2 つの CPU が搭載されていたらどうなるでしょうか? したがって、CPU が 2 つある場合、システム負荷は 2.0 に達する可能性があり、その時点で各 CPU の作業負荷は 100% に達します。一般的に、n 個の CPU を持つコンピュータの場合、許容可能な最大システム負荷は n.0 です。 CPU 負荷 - マルチコア プロセッサ チップメーカーは、多くの場合、単一の CPU 内に複数の CPU コアを組み込んでおり、これをマルチコア CPU と呼びます。 システムロードに関する経験則 システム負荷にとって 1.0 は理想的な値ですか? 必ずしもそうではありません。システム管理者は余裕を持たせることが多いです。この値が 0.7 に達したら注意が必要です。経験則は次のようになります:
私のマシンには 24 個のコアがありますが、適切な負荷はどれくらいでしょうか?
答えは次のとおりです。
最適な観察時間 最後の質問ですが、「負荷平均」は 3 つの平均値を返します ---- 1 分間のシステム負荷、5 分間のシステム負荷、15 分間のシステム負荷、---- どの値を参照すればよいのでしょうか? システム負荷が 1 分間だけ 1.0 を超え、他の 2 つの時間帯では 1.0 未満である場合、これは一時的な現象であり、深刻な問題ではないことを示しています。 15 分以内に平均システム負荷が 1.0 を超える場合 (CPU コアの数を調整した後)、問題は一時的な現象ではなく、継続していることを示します。したがって、主に「15 分間のシステム負荷」を観察し、それをコンピューターの正常な動作の指標として使用する必要があります。 以下もご興味があるかもしれません:
|
<<: MySQL インデックスの正しい使い方とインデックスの原理の詳細な説明
>>: プログレッシブ ウェブ アプリ (PWA) の開発方法
準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...
最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...
この記事では、移行、バックアップ、アップグレードなどのシナリオで使用される Docker イメージの...
ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント。ウェブサイトのアクセス速度...
vue+element UI は Excel データをエクスポートするためのパブリック関数をカプセル...
SQL インジェクション脆弱性を悪用する後期段階では、MySQL のファイル シリーズ関数を使用して...
MySQL クエリ結果をcsvにエクスポートするには、通常、php を使用して mysql に接続し...
目次1. 問題のあるSQL文たとえば、次の図のような質問をした人がいました。 問題は次のように要約で...
まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...
この記事では、画像拡大鏡効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な内容...
目次1. 手順2. 修飾語3. .sync 修飾子4. まとめ1. 手順指示とは命令です。文字通りの...
目次1. テンプレート2. ジェネリック3. ジェネリック再帰4. デフォルトのジェネリックパラメー...
実験コードは次のとおりです。 </head> <body> <div ...
序文古いプロジェクトを引き継ぐ苦労 - MongoDB クラスターの学習と構築に関する前回の記事を読...
目次リアクトファイバーの作成1. 始める前に2. React.renderから始める3. 終了リアク...