はじめに
ロード アベレージ は、Linux システムのパフォーマンスと使用率を評価するための重要な指標です。時間の経過に伴うシステムの作業負荷に関する洞察を提供し、潜在的なボトルネックの特定に役立ちます。
このガイドでは、 uptime コマンドを使用してロード アベレージを解釈する方法、その重要性、およびシステムの健全性を維持するためのベスト プラクティスについて説明します。
ロード アベレージとは何ですか?
ロード アベレージ は、3 つの間隔における CPU 時間を待機しているプロセスの平均数を表します:
- 1 分
- 5 分
- 15 分
ロード アベレージは、 uptime コマンドで確認できます:
$ uptime
14:35:45 up 5 days, 6:42, 2 users, load average: 0.35, 0.44, 0.42
出力には 3 つの数値が含まれます: 0.35、 0.44、そして 0.42、これらはそれぞれ過去 1 分、5 分、15 分間の平均システム負荷に対応します。
ロード アベレージは何を意味しますか?
シングルコア CPU
- 1.00 の ロード アベレージ は、システムが完全に使用されており、CPU のアイドル時間がまったくないことを意味します。
- ロード アベレージが 1.00 を超えると、プロセスは CPU 時間を求めて待機し始め、パフォーマンスに影響を与える可能性があります。
マルチコア CPU
複数のコアを持つシステムでは、ロード アベレージを CPU コアの数で割ることで使用率を求めます:
- 4 CPU コア:ロード アベレージが 4.00 の場合、システムが完全に使用されていることを意味します。
- 8.00 は、システムが効率的に管理できるプロセス数の 2 倍のプロセスを処理していることを示します。
ロード アベレージはなぜ役に立ちますか?
ロード アベレージは、システムの健全性を監視し、リソースの使用を計画するのに役立ちます:
- 低いロード アベレージ:システムが十分に活用されていない可能性を示します。これは、アイドル状態のシステムでは問題ありません。
- 高いロード アベレージ:過剰な CPU 使用量、I/O 操作、またはリソースをめぐって競合するプロセスが多すぎることによる、パフォーマンスのボトルネックの可能性を示唆します。
CPU コア数を確認する方法
ロード アベレージを正しく解釈するには、システムの CPU コア数を知る必要があります。次のコマンドを使用してください:
$ nproc
これにより、使用可能なコアの総数が表示されます。ロード アベレージをこの数値と比較して、システムの使用率を評価してください。
ロード アベレージを管理するためのベスト プラクティス
1. 高いロード アベレージを調査する
ロード アベレージが CPU コア数を常に上回っている場合は、原因を調査してください:
- リソースを大量に使用するプロセスを特定するには、
topまたはhtopを使用します。 - CPU 使用率が正常に見える場合は、ディスクまたはネットワークの I/O を確認してください。
2. システム パフォーマンスを最適化する
最適なパフォーマンスを得るために、ロード アベレージを コアあたり 1.00 以下に維持することを目指してください。
3. 定期的に監視する
潜在的な問題を早期に検出し、システムの効率を維持するために、ロード アベレージを定期的に監視してください。
実践例
シナリオ:高いロード アベレージの調査
例えば、 8 CPU コア を搭載したサーバーのロード アベレージは 10.00。
調査手順:
- まず、
topまたはhtopを実行して、過剰な CPU やメモリを消費しているプロセスを特定します。 - I/O 使用量を確認するには、次のツールを使用します:
iotopまたはiostat。 - ワークロードを最適化または再配分することで、リソースを大量に使用するタスクに対処します。
参考資料
ロード アベレージとシステム パフォーマンスの監視に関する詳細については、次をご覧ください: