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:インタラクティブなマネージャー
htop は top をさらに進化させたツール。直感的な操作が魅力です。
特徴
- 矢印キーでプロセスをスクロール&選択可能
- カラフルなメーター表示で視認性が高い
- ツリー表示で親子プロセスの関係も確認できる
おすすめ用途
プロセスを直感的に探し、必要ならその場で終了させたいとき。
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. まとめ
ps、top、htop は競合ではなく、それぞれ得意分野が異なるツールです。
- ps:静的なレポート・スクリプト処理向け
- top:リアルタイム観察向け
- htop:直感的でインタラクティブな管理向け
この三つをシーンに応じて使い分けることで、Linuxシステムの理解と操作力が大きく向上します。
Discussion