Linux topの読み方:現場チートシート
・対象: Linuxサーバの運用担当・SRE(topで一次切り分けしたい人)・タグ: linux, top, ops
この記事はこういう人におすすめ: (for) この記事で得られること: (benefits)
「top コマンドの画面、どこを見ればいいか分からない…」「Load や CPU%の意味が曖昧で判断に迷う」そんな悩みはありませんか? この記事では、Linux サーバ運用でよく使う top コマンドの基本的な見方と、現場で役立つ判断基準を短時間で解説します。 まずは関連ツール「Top Analyzer」で実際に試してみましょう。
1. 基本の見方(定義と構文)
top コマンドは、Linux サーバの負荷状況をリアルタイムで確認できるツールです。 主に「Load average」「CPU 使用率」「メモリ/スワップ」の 3 点を見ます。
| 項目 | 意味・ポイント |
|---|---|
| Load average | 直近の平均同時実行数(1/5/15 分) |
| CPU 欄 | us:ユーザ, sy:システム, id:アイドル, wa:I/O 待ち |
| Mem/Swap | メモリ・スワップの使用量 |
2. 実例(よく使う判断基準)
1 行目の Load average は、物理/論理コア数を超えると待ちが発生しやすくなります。 CPU 欄の wa(I/O 待ち)が高い場合は、ディスクやネットワークの遅延を疑いましょう。
3. 落とし穴(❌ 失敗 →✅ 対策)
- ❌ wa が高いのに CPU 負荷だと誤解する
- ✅ wa は I/O 待ち。ディスクやネットワークの遅延を疑い、iotop 等で確認しましょう。
- ❌ Load average だけで障害判定する
- ✅ CPU/メモリ/スワップも合わせて総合的に判断しましょう。
4. 手を動かす(3 手で検証)
- top コマンドを実行します
- 1 行目の Load average と CPU 欄の wa を確認します
- 異常値があれば、iotop や free コマンドで詳細を調べます
5. クイズ
- Load average がコア数を超えると何が起きますか?
- CPU 欄の wa が高い場合、何を疑いますか?
- top コマンドでメモリ不足をどう見分けますか?
答え
- 待ちが発生しやすくなります
- ディスクやネットワークの遅延
- Mem/Swap の使用量が高い場合
6. まとめ
- top コマンドは負荷状況の一次切り分けに便利です
- Load average はコア数と比較して判断します
- wa が高い場合は I/O 遅延を疑います
- 総合的に CPU/メモリ/スワップを確認しましょう
- 実際に手を動かして異常値を見つけましょう
- 関連ツール「Top Analyzer」も活用してください
まずは「Top Analyzer」で自分のサーバ状況をチェックしてみましょう。
- 1 行目: load average(1/5/15 分)= 直近の平均同時実行数。コア数を超えると待ちが発生しやすい。
- CPU 欄:
us(ユーザ),sy(システム),id(アイドル),wa(I/O 待ち)。waが高い=ディスク待ち疑い。
すぐ使う判断基準
- Load > 物理/論理コア数が継続ならボトルネック要調査(I/O/CPU/スレッド)。
よくある誤読
waは CPU が I/O 完了待ちで遊んでいる状態。ディスク/ネットワークの遅延を疑う。