Linuxリアルタイム監視ツール完全ガイド!システムの状態を可視化しよう

Linuxサーバーやパソコンを使っていて、こんな疑問を持ったことはありませんか?

「今、CPUはどれくらい使われているんだろう?」
「メモリが足りなくなっていないかな?」
「どのプロセスがディスクを使っているの?」

システムの状態をリアルタイムで把握することは、トラブルシューティングやパフォーマンス改善に欠かせません。

「どんな監視ツールがあるの?」
「それぞれ何が見られるの?」
「どうやって使い分ければいい?」

この記事では、Linuxで使えるリアルタイム監視ツールについて、初心者の方にも分かりやすく、基本から実践的な使い方まで詳しく解説していきます。

スポンサーリンク
  1. リアルタイム監視ツールとは?システムの「健康診断」
    1. リアルタイム監視の基本
    2. なぜリアルタイム監視が必要なのか
  2. 基本的な監視ツール:top
    1. topの基本的な使い方
    2. topの画面の見方
    3. topの便利なキー操作
    4. topのオプション
  3. より見やすい監視ツール:htop
    1. htopの特徴
    2. htopのインストール
    3. htopの使い方
    4. htopの見やすさ
  4. ディスクI/O監視:iotop
    1. iotopの使い方
    2. iotopの表示項目
    3. iotopのオプション
  5. ネットワーク監視:iftop
    1. iftopの使い方
    2. iftopの表示内容
    3. iftopの便利なキー操作
    4. iftopのオプション
  6. 別のネットワーク監視:nethogs
    1. nethogsの特徴
    2. nethogsの使い方
  7. 多目的監視:dstat
    1. dstatの特徴
    2. dstatの使い方
    3. dstatのオプション
  8. 包括的な監視:glances
    1. glancesの特徴
    2. glancesの使い方
    3. glancesの画面構成
    4. glancesのキー操作
    5. glancesのWebモード
  9. システム全体の監視:nmon
    1. nmonの特徴
    2. nmonの使い方
    3. nmonの操作方法
  10. コマンドの定期実行:watch
    1. watchの使い方
    2. watchのオプション
  11. 用途別おすすめツール
    1. 総合的に監視したい
    2. プロセスの負荷を調べたい
    3. ディスクI/Oの問題を調査したい
    4. ネットワークの問題を調査したい
    5. 長期的なデータを記録したい
    6. リモートサーバーを監視したい
  12. 監視データの記録と分析
    1. dstatでログ記録
    2. sarコマンドの活用
  13. トラブルシューティングの実例
    1. CPUが100%になっている
    2. メモリ不足で動作が遅い
    3. ディスクI/Oが遅い
    4. ネットワークが遅い
  14. 監視ツールの組み合わせ技
    1. tmux/screenで画面分割
  15. まとめ:適切なツールで効率的に監視しよう

リアルタイム監視ツールとは?システムの「健康診断」

リアルタイム監視の基本

リアルタイム監視ツールとは、システムの状態を継続的に更新しながら表示するプログラムのことです。

一度だけ情報を表示するコマンドとは違い、1秒ごと、数秒ごとに最新の情報に更新されます。

簡単に言えば、システムの状態を映し出す「モニター」のようなものだと考えてください。

なぜリアルタイム監視が必要なのか

静的な情報だけでは、問題の原因を特定するのが難しいことがあります。

リアルタイム監視でできること:

  • CPUやメモリの使用率の変化を追跡
  • 問題が発生した瞬間を捉える
  • どのプロセスが原因かを特定
  • システムの負荷を継続的に把握
  • パフォーマンスのボトルネックを発見

つまり、問題が起きている「今」の状況を把握できるのです。

基本的な監視ツール:top

最も基本的で、どのLinuxにも入っているツールです。

topの基本的な使い方

起動方法:

top

これだけで、リアルタイムでプロセス情報が表示されます。

topの画面の見方

上部:システム全体の情報

top - 10:30:45 up 5 days,  2:15,  2 users,  load average: 0.15, 0.20, 0.18
Tasks: 235 total,   1 running, 234 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.3 us,  1.0 sy,  0.0 ni, 96.5 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15872.4 total,   2458.6 free,   8242.3 used,   5171.5 buff/cache
MiB Swap:   8192.0 total,   8192.0 free,      0.0 used.   6894.5 avail Mem

重要な項目:

  • load average: システムの負荷(1分、5分、15分の平均)
  • %Cpu(s): CPU使用率の内訳
  • Mem: メモリ使用状況
  • Swap: スワップ使用状況

下部:プロセス一覧

各プロセスのCPU使用率、メモリ使用量、実行時間などが表示されます。

topの便利なキー操作

実行中に押せるキー:

  • q: 終了
  • k: プロセスを終了(kill)
  • M: メモリ使用量でソート
  • P: CPU使用率でソート
  • 1: CPUコアごとの使用率を表示
  • h: ヘルプ表示
  • Space: 手動で更新

topのオプション

更新間隔を変更:

top -d 5

5秒ごとに更新されます。

特定のユーザーのプロセスだけ表示:

top -u ユーザー名

より見やすい監視ツール:htop

topの改良版で、カラフルで使いやすいツールです。

htopの特徴

  • 色分けされた見やすい表示
  • マウス操作に対応
  • CPUコアごとの使用率を視覚的に表示
  • ツリー表示でプロセスの親子関係が分かる

htopのインストール

多くのディストリビューションでは、標準でインストールされていません。

Ubuntuの場合:

sudo apt install htop

CentOS/AlmaLinuxの場合:

sudo dnf install htop

htopの使い方

起動:

htop

便利なキー操作:

  • F1: ヘルプ
  • F2: 設定
  • F3: プロセス検索
  • F4: フィルタ
  • F5: ツリー表示切替
  • F6: ソート項目選択
  • F9: プロセス終了(kill)
  • F10: 終了
  • Space: プロセスにタグ付け
  • 矢印キー: カーソル移動

htopの見やすさ

CPUやメモリの使用状況がバーグラフで表示されるため、一目で状況が把握できます。

各CPUコアの使用率も個別に確認できるので、負荷の偏りも分かります。

ディスクI/O監視:iotop

どのプロセスがディスクを読み書きしているか監視します。

iotopの使い方

起動:

sudo iotop

ディスクの読み書き速度が遅い原因を特定する際に便利です。

iotopの表示項目

  • IO: ディスクI/Oの速度
  • READ: 読み取り速度
  • WRITE: 書き込み速度
  • COMMAND: プロセス名

iotopのオプション

累積I/O量でソート:

sudo iotop -a

プロセスだけを表示(スレッドを非表示):

sudo iotop -P

更新間隔を指定:

sudo iotop -d 5

ネットワーク監視:iftop

ネットワークの帯域使用状況をリアルタイムで監視します。

iftopの使い方

インストール:

sudo apt install iftop
# または
sudo dnf install iftop

起動:

sudo iftop

iftopの表示内容

  • どのホストと通信しているか
  • 送信速度と受信速度
  • 累計データ量

矢印の向きで、データの流れる方向が分かります。

iftopの便利なキー操作

  • n: ホスト名/IPアドレスの表示切替
  • s: 送信元ポートの表示切替
  • d: 送信先ポートの表示切替
  • p: ポート番号の表示
  • q: 終了

iftopのオプション

特定のネットワークインターフェースを監視:

sudo iftop -i eth0

別のネットワーク監視:nethogs

プロセスごとのネットワーク使用量を監視します。

nethogsの特徴

iftopはホスト別ですが、nethogsはプロセス別に表示します。

「どのアプリケーションが帯域を使っているか」を知りたい時に便利です。

nethogsの使い方

インストール:

sudo apt install nethogs
# または
sudo dnf install nethogs

起動:

sudo nethogs

各プロセスの送信速度と受信速度が表示されます。

多目的監視:dstat

CPU、ディスク、ネットワーク、メモリなど、様々な情報を一画面で監視できます。

dstatの特徴

vmstatiostatnetstatの機能を統合したようなツールです。

カラフルで見やすく、カスタマイズ性が高いのが特徴です。

dstatの使い方

インストール:

sudo apt install dstat
# または
sudo dnf install dstat

基本的な起動:

dstat

詳細な情報を表示:

dstat -cdngy
  • c: CPU
  • d: ディスク
  • n: ネットワーク
  • g: ページング
  • y: システム統計

dstatのオプション

更新間隔を指定:

dstat 5

5秒ごとに更新されます。

CSV形式で出力:

dstat --output stats.csv

後でExcelなどで分析できます。

包括的な監視:glances

すべての情報を一画面にまとめた、最も包括的なツールです。

glancesの特徴

  • CPU、メモリ、ディスク、ネットワークを統合表示
  • カラフルで見やすいUI
  • センサー情報(温度など)も表示可能
  • Webインターフェースも利用可能

glancesの使い方

インストール:

sudo apt install glances
# または
sudo dnf install glances
# または
pip install glances

起動:

glances

glancesの画面構成

上から順に以下の情報が表示されます:

  1. CPU使用率(コアごと)
  2. メモリ使用状況
  3. スワップ使用状況
  4. 負荷平均
  5. ディスクI/O
  6. ネットワークトラフィック
  7. センサー情報(温度など)
  8. プロセス一覧

glancesのキー操作

  • q: 終了
  • a: 自動ソート
  • c: CPU使用率でソート
  • m: メモリ使用量でソート
  • 1: CPUコアごとの表示切替
  • h: ヘルプ

glancesのWebモード

glances -w

ブラウザでhttp://localhost:61208にアクセスすると、Webインターフェースで監視できます。

リモートサーバーの監視に便利です。

システム全体の監視:nmon

IBM製の強力な監視ツールです。

nmonの特徴

  • 対話的なインターフェース
  • 豊富な統計情報
  • パフォーマンスデータの記録機能

nmonの使い方

インストール:

sudo apt install nmon
# または
sudo dnf install nmon

起動:

nmon

nmonの操作方法

起動後、キーを押すことで表示する情報を選択します。

主要なキー:

  • c: CPU統計
  • m: メモリ統計
  • d: ディスク統計
  • n: ネットワーク統計
  • t: トッププロセス
  • r: リソース
  • k: カーネル統計
  • q: 終了

複数のキーを同時に押すことで、情報を組み合わせて表示できます。

コマンドの定期実行:watch

任意のコマンドを定期的に実行して、結果を表示し続けます。

watchの使い方

基本構文:

watch コマンド

例:ディスク使用量を2秒ごとに表示:

watch df -h

例:メモリ使用状況を表示:

watch free -h

watchのオプション

更新間隔を指定:

watch -n 5 コマンド

5秒ごとに更新されます。

差分をハイライト:

watch -d コマンド

前回から変わった部分が強調表示されます。

ヘッダーを非表示:

watch -t コマンド

用途別おすすめツール

目的に応じて、適切なツールを選びましょう。

総合的に監視したい

おすすめ:glances または nmon

すべての情報が一画面で確認できるため、初心者にも分かりやすいです。

プロセスの負荷を調べたい

おすすめ:htop

topより見やすく、操作も直感的です。

ディスクI/Oの問題を調査したい

おすすめ:iotop

どのプロセスがディスクを使っているか、一目瞭然です。

ネットワークの問題を調査したい

ホスト別で見たい:iftop
プロセス別で見たい:nethogs

用途に応じて使い分けましょう。

長期的なデータを記録したい

おすすめ:dstat

CSV形式で出力できるため、後で分析できます。

リモートサーバーを監視したい

おすすめ:glances(Webモード)

ブラウザからアクセスできるため、リモート監視に最適です。

監視データの記録と分析

リアルタイム監視だけでなく、データを記録することも重要です。

dstatでログ記録

dstat -cdngy --output system_stats.csv 5 > /dev/null &

バックグラウンドで5秒ごとに統計を記録します。

sarコマンドの活用

sysstatパッケージに含まれるsarコマンドは、システム統計を継続的に記録します。

インストール:

sudo apt install sysstat

過去のCPU使用率を確認:

sar -u

過去のメモリ使用状況を確認:

sar -r

sarは自動的にデータを記録するため、後から「あの時何が起きていたか」を調べられます。

トラブルシューティングの実例

実際の問題解決シーンでの使い方です。

CPUが100%になっている

手順:

  1. htopを起動
  2. CPU使用率でソート(F6キー → CPU%)
  3. 上位のプロセスを確認
  4. 必要に応じてプロセスを終了(F9キー)

メモリ不足で動作が遅い

手順:

  1. htopまたはtopで確認
  2. メモリ使用量でソート
  3. スワップが使われているか確認
  4. 不要なプロセスを終了
  5. free -hでメモリの空き容量を確認

ディスクI/Oが遅い

手順:

  1. iotopを起動
  2. どのプロセスがディスクを使っているか確認
  3. 大量のI/Oを発生させているプロセスを特定
  4. 必要に応じて処理を調整

ネットワークが遅い

手順:

  1. iftopでネットワークトラフィックを確認
  2. どのホストと大量に通信しているか確認
  3. nethogsでプロセスを特定
  4. 不要な通信を停止

監視ツールの組み合わせ技

複数のツールを同時に使う方法です。

tmux/screenで画面分割

tmuxscreenを使えば、一つの画面で複数の監視ツールを同時に表示できます。

tmuxの例:

tmux
# 画面を上下に分割
Ctrl+b → "
# 下の画面に移動
Ctrl+b → 下矢印
# 画面を左右に分割
Ctrl+b → %

こうして分割した画面で、それぞれ異なる監視ツールを起動できます。

  • 左上:htop
  • 右上:iotop
  • 下:iftop

まとめ:適切なツールで効率的に監視しよう

Linuxのリアルタイム監視ツールについて、重要なポイントをおさらいしましょう。

主要な監視ツール:

ツール監視対象特徴
topプロセス全般標準搭載、基本的
htopプロセス全般topの改良版、見やすい
iotopディスクI/Oどのプロセスがディスクを使用中か
iftopネットワークホスト別の通信状況
nethogsネットワークプロセス別の通信状況
dstat総合複数の統計を統合表示
glances総合最も包括的、Webモードあり
nmon総合IBM製、対話的で詳細
watch汎用任意のコマンドを定期実行

用途別の選び方:

  • 総合監視 → glances、nmon
  • プロセス監視 → htop
  • ディスク監視 → iotop
  • ネットワーク監視 → iftop、nethogs
  • データ記録 → dstat、sar

基本的な使い方:

htop              # プロセス監視
sudo iotop        # ディスクI/O監視
sudo iftop        # ネットワーク監視
glances           # 包括的監視
watch コマンド    # コマンドの定期実行

トラブルシューティングの流れ:

  1. 問題の症状を特定
  2. 適切な監視ツールを起動
  3. 原因となるプロセスや要因を特定
  4. 必要な対処を実施

リアルタイム監視ツールは、システム管理者にとって必須のスキルです。

それぞれのツールの特徴を理解して、状況に応じて使い分けられるようになれば、トラブルシューティングやパフォーマンスチューニングが格段に効率的になります。

まずはhtopglancesから試してみて、システムの状態を把握する習慣をつけてみてくださいね!

コメント

タイトルとURLをコピーしました