LinuxマシンのCPU負荷とは一体何で、なぜ気にするのですか?
ITプロフェッショナル向けのリソースライブラリをご覧ください。専門家によるガイド、可観測性戦略、そして実践的なインサイトを活用して、よりスマートでAI主導の運用を実現しましょう。
リソースを探索する
真剣に、私は自分自身にそれを言いました。 実際、LinuxサーバーのCPU負荷の概念については基本的に理解していましたが、最近学んだことがいくつかあり、世界と共有したいと思いました。
topコマンドを実行すると、ボックスの1分5分と15分のCPU負荷平均を取得できることを誰もが知っていると思います。 誰が気にしますか? 使用されているCPUリソースの量を教えてくれるので、使用されているCPUの割合について知りたいのは明らかです。 しかし、このCPU負荷平均メトリックは何ですか?
CPU負荷平均についてすべて知っている人にとっては、負荷平均が役立つかどうかについての私の哲学的意見を述べるブログの部分にスキップしたいと思うかもしれません。 残りの皆さんのために、CPU負荷の平均が実際に何であるかを簡単に説明しましょう。
CPU負荷は、CPU時間を使用している、または使用したいプロセスの数、またはCPUを使用する準備ができているキューに入れられたプロセスの数です。 これは、実行キューの長さと呼ばれることもあります。 たとえば、1つのCPUと1つのコアがあるとします。 負荷平均が1の場合、それは容量に達していることを意味し、それ以上のものはキューに入れ始めます。 平均CPU負荷が5の場合、容量が半分になり、より多くの負荷をかける余地があることを意味します。 しかし、Cevin、私は1つのCPUを持っていません、私は2つのCPUを持っています。 いい視点ね! 最近CPUを1つしか持っていないのは誰ですか? 私ではありません、それは確かです! では、2つのCPUが容量に達する原因となる負荷平均数はどれくらいになるでしょうか。 場合によります。
各CPUにはいくつのコアがありますか? 各コアは平均1の負荷を処理できます。これは、コアの容量が不足していることを意味します(つまり、コアで実行されているプロセスが1つあり、待機しているプロセスはありません)。100は2%の容量であると考えてください。 4つの物理CPUがあり、それぞれに8つのコアがあり、合計で8つのコアがあります。 ええと? 重要なのは、コアが8つある場合、平均CPU負荷が8になる可能性があるため、容量が不足するということです。 このシナリオでは、8未満の場合は容量が不足し、XNUMXを超える場合はキューに入れられます。
もう100つの問題、つまりコアの数を超える負荷は、プロセスがキューに入れられていることを示していますが、キューに入れられている作業の種類については何も示していません。 キューに入れられたジョブの中には、CPU要件が非常に高く、実行に時間がかかるものもあれば、要求をスケジュールしてからCPUを譲るジョブもあります。 「ランプの高速道路には100台の車両が並んでいます」と言っているようなものです。 それらのXNUMX台の車両が気の利いたバイクまたは巨大なセミトレーラーである場合、それは大きな違いを生みます。 そのため、負荷が高く、CPU使用率が低い可能性があります。
CPUの負荷は明確になりましたか? 驚くばかり!
次に、質問のXNUMX番目の部分、「なぜ気にするのか」について説明します。 これは私の意見では、質問の最も重要な部分です。 これが答えです。 準備はできたか?…
それを待つ…。
それを待つ…
場合によります!
それは実際には、そのホストが何を担当しているか、そしてワークロードが何であるかに依存します。 そのホストが時間に敏感な情報をパブリック消費、さらにはプライベート消費に配信することを担当している場合は、CPUコアあたりの負荷平均を1より大きくしたくないはずです。 そのホストが、終了時に気にしない作業のキューの処理を担当している場合は、コアあたり平均1を超える負荷を許容できる可能性があります。 注:1日24時間の平均負荷がXNUMXを超える場合、ホストが追いつくことはありません(キャプテンに感謝します)。

上記は、4つのコアを持ち、負荷のラインにまたがっているサーバーの例ですが、時間に敏感ではないジョブを処理しているだけなので、問題ありません。
上記は、時間に敏感で、16の負荷容量の範囲内にある情報を処理している16コアのサーバーの例です。
サーバーの目的を把握し、責任を持って監視します。
CPU負荷 CPUを使用している、またはCPUの使用を待機しているプロセスの数です。これはシステムへの需要のスナップショットであり、アクティブなプロセスとキューに登録されているプロセスが含まれます。
CPU使用率 CPUが実際に動作している時間を示します。CPU負荷は、CPUを使用しているプロセス、またはCPUの使用を待機しているプロセスの数を示します。多くの短時間のプロセスやアイドル状態のプロセスがキューに登録されている場合、負荷は高いもののCPU使用率は低くなる可能性があります。
健康な 負荷平均 通常、CPUコア数以下になります。例えば、8コアのシステムでは、負荷は8以下になるはずです。
数を掛け合わせる CPUコア 1ずつ増やします。これが基準値です。つまり、4コアシステムでは、キューイングを避けるためにCPU負荷を4以下に抑えるのが理想的です。
はい、ただしコンテキストは重要です。負荷平均が高いということはキューイングを意味しますが、時間的に制約のあるタスクに遅延が発生しない限り、必ずしも問題にはなりません。
キューに入れられたジョブは、それほど多くの処理を必要としない可能性があります。単に待機しているだけです。これは、多数の小さなリクエストが並んでいる状態と考えれば、CPU使用率を上げずにCPU負荷を上げることになります。
top or uptime 1分、5分、15分ごとのCPU負荷の平均を追跡するコマンドです。これらの値をコア数と照らし合わせることで、CPUの負荷が過剰になっているかどうかを判断できます。
© LogicMonitor 2025 | 無断複写・転載を禁じます。 | ここで言及されているすべての商標、商号、サービス マーク、およびロゴは、それぞれの会社に帰属します。
