CPU のトラブルシューティングでは、負荷、使用率、応答性を分けるところから始めます。一つの数値だけでボトルネックは確定できません。複数の時間窓を比較し、ホストの指標をユーザーが実際に経験するワークロードへ関連付けてください。
プロセス利用率 · レッスン 4
CPU 監視
Linux の負荷平均を CPU 数、使用率、タスク状態と合わせて解釈する方法を学びます。
uptime を読む
uptime は簡潔な出発点になります。
$ uptime
17:23:35 up 1 day, 5:59, 2 users, load average: 0.00, 0.02, 0.05
最後の三つの値は、およそ1分、5分、15分の負荷平均です。比較すると方向性が分かります。1分値が非常に大きければ負荷が上昇している可能性があり、15分値の方が大きければ負荷が低下している可能性があります。
uptime は負荷平均の時間窓をどの順で表示しますか?
Linux の負荷を理解する
Linux の負荷平均は、CPU を使用中または待機中の実行可能タスクに加え、一般に I/O と関係する割り込み不能スリープ中のタスクを数えます。したがって、CPU 使用率とは同じではありません。
負荷 4.0 の意味は、論理 CPU が一つのシステムと16個のシステムで異なります。システムが利用できる処理単位の数は次のように確認します。
$ nproc
CPU クォータ、アフィニティ、仮想化、コンテナ制限によって、特定ワークロードから見える能力が減る場合があるため、ホストの CPU 数は出発点にすぎません。
負荷平均が CPU 使用率ではないのはなぜですか?
負荷と CPU 活動を比較する
一つの出力に依存せず、複数のサンプルを収集します。組み合わせると便利なコマンドには次があります。
$ top
$ vmstat 1
$ mpstat -P ALL 1
top はホストとプロセスのビューを組み合わせます。vmstat は実行可能タスクとブロック中タスクの数を CPU 分類とともに示します。多くのディストリビューションで sysstat が提供する mpstat は CPU ごとの活動を示します。利用可否と正確なフィールドは異なるため、ローカルマニュアルを参照してください。
高負荷かつ CPU が忙しければ、CPU 需要を示す場合があります。高負荷に加え、目立つブロック中タスク、I/O 遅延、I/O 待ちがあれば、別の資源制約を示します。平均使用率が低くても、一つの CPU の飽和や短い遅延スパイクが隠れる場合があります。
高い負荷平均を観測した後の最善の手順はどれですか?
能力と影響を評価する
負荷が常に CPU 数を下回らなければならないという普遍的な規則はありません。バッチシステムは待ち行列を許容する場合があり、対話的サービスはそれ以前に遅延目標へ違反する場合があります。同じホストとワークロードのベースラインを定め、応答時間、スループット、エラー率、飽和度、資源使用量を比較してください。
観測した負荷が許容範囲かどうかを決めるものは何ですか?
レッスン完了
CPU 監視 を完了しました
負荷平均を CPU 調査の一部として解釈できるようになりました。
1分、5分、15分の負荷時間窓を読む。
タスク負荷と CPU 時間の割合を区別する。
負荷を利用可能な処理能力と比較する。
ホストを繰り返し測定し、サービスの結果と照合する。