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. HTMLファイルでechartをインポートする <!-- echarts をインポート ...
目次オブジェクトプロトタイプの値()オブジェクトプロトタイプtoString()シンボル.toPri...
XHTML には似た機能を持つタグがいくつかあります。もちろん、ここでの類似性とは意味の類似性を指...
1. MySQLの文字セットを確認する '%char%' のような変数を表示します。...
序文Linux カーネルプログラミングでは、マクロ関数 container_of(ptr, type...
1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...
まずは効果の写真をお見せしましょう。 個人的には効果は問題ないと思います。アプリが写真を学習する時間...
公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...
この記事に誤りがあったり、ご提案がありましたら、お気軽にご連絡ください。よろしくお願いいたします。は...
目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...
今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...
仮想マシンはホストマシンにインストールされます。 CPU とメモリはホスト マシンと共有する必要があ...
詳細な手順は次のとおりです。 1. ディスク容量を確認します。 [root@localhost バッ...
この記事では、IP入力ボックスを実装するための react+antd.3x の具体的なコードを参考ま...
今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...