🖥️

Linuxプロセス監視の入門:ps / top / htopの違いと使い分け

に公開

はじめに

パソコンを使っているとき、裏側では常に数十から数百ものプロセスが動いています。これらはコンピュータ内部の「労働者たち」と言える存在です。システム監視とは、この労働者たちの働きぶりを観察し、異常や問題を早めに察知することを目的としています。

新しく学ぶ人にとって、まずは「何が起きているのか」を理解することが第一歩です。これができれば、

  • 信頼性:問題を早期に検知できる
  • 性能向上:リソースを食っているプロセスを特定できる
  • トラブルシューティング:不具合発生時に原因を素早く見つけられる

といったメリットを得られます。

1. Vital Signsを読む:基本的なプロセスメトリクス

医者が患者のバイタルをチェックするように、Linuxでもプロセスの健康状態を示す指標があります。

  • Load Averages
    CPUがどれだけ忙しいかを示す指標。1分、5分、15分の平均値が表示されます。1コアCPUで1.0ならフル稼働中、4コアCPUで4.0なら全コアが埋まっている状態です。

  • CPU Time
    各プロセスがCPUを使って処理を実行してきた累積時間。CPU負荷の「犯人探し」に役立ちます。

  • Memory Statistics
    使用中の物理メモリ(RAM)や仮想メモリ(Swap)の情報。どのプロセスがメモリを占拠しているかを知るのに便利です。

2. プロセス監視の三銃士:ps / top / htop

Linuxには数多くの監視ツールがありますが、基本の三つを押さえておけば十分です。

2.1. ps:スナップショット取得

ps は「いまこの瞬間のプロセス一覧」を静的に表示します。

特徴

  • スナップショット表示:実行した時点の状態を記録可能
  • 強力なフィルタリング:grepなどと組み合わせて検索・レポートに最適

おすすめ用途
レポート作成やログ保存、特定ユーザのプロセス一覧の取得など。


2.2. top:リアルタイムダッシュボード

top は動的に更新されるダッシュボード。システムの今を監視するのに便利です。

特徴

  • リアルタイム更新:数秒ごとに自動リフレッシュ
  • リソース別ソート:CPUやメモリ使用率で並び替え可能

おすすめ用途
「今この瞬間、何が重いのか?」を調べるときに最適。


2.3. htop:インタラクティブなマネージャー

htoptop をさらに進化させたツール。直感的な操作が魅力です。

特徴

  • 矢印キーでプロセスをスクロール&選択可能
  • カラフルなメーター表示で視認性が高い
  • ツリー表示で親子プロセスの関係も確認できる

おすすめ用途
プロセスを直感的に探し、必要ならその場で終了させたいとき。


3. 一覧比較:ps vs top vs htop

Feature ps top htop
更新方式 静的スナップショット リアルタイム更新 リアルタイム更新
インターフェース プレーンテキスト テキストベースダッシュボード インタラクティブ&カラー表示
強み レポート・スクリプト 即時の性能監視 操作性と直感的な管理
初心者向けのわかりやすさ やや難しい 観察しやすい 最もユーザーフレンドリー

4. シナリオ別の使い分け

  • シナリオ1: PCが重い!今CPUを食ってるのは?
    htop または top
    → リアルタイムで負荷の大きいプロセスを特定し、htopならすぐ終了も可能。

  • シナリオ2: www-data ユーザのプロセス一覧をレポート化したい
    ps
    ps aux | grep www-data > report.txt のように活用可能。

  • シナリオ3: アプリがフリーズしたから強制終了したい
    htop
    → 矢印キーで該当プロセスを選び、F9キーで終了できる。

5. まとめ

pstophtop は競合ではなく、それぞれ得意分野が異なるツールです。

  • ps:静的なレポート・スクリプト処理向け
  • top:リアルタイム観察向け
  • htop:直感的でインタラクティブな管理向け

この三つをシーンに応じて使い分けることで、Linuxシステムの理解と操作力が大きく向上します。


Discussion