Linuxで作業をしていると「今システムが重いけど、何が原因だろう?」と思ったことはありませんか?
そんなときに役立つのが、リアルタイムでプロセスやメモリ、CPU使用率を確認できるtopコマンドです。
topコマンドは、Linuxの管理者や開発者、運用担当者にとって欠かせないツールであり、システムリソースの状況を素早く把握するために広く利用されています。本記事では、topコマンドの基本的な使い方から、便利なオプション、表示項目の読み方、さらには活用のコツまで、詳しくわかりやすく解説していきます。Linux初心者にも理解できるように構成していますので、ぜひ最後までお読みください。
topコマンドとは?
topコマンドは、LinuxやUnix系OSで動作しているプロセスの一覧をリアルタイムで表示するコマンドです。
CPUやメモリの使用率、ロードアベレージ(システムの負荷状態)、個々のプロセスの状態など、システムリソースに関する重要な情報を継続的に更新しながら表示してくれるため、サーバー管理やパフォーマンスの監視に欠かせないツールです。
topはターミナル上で動作し、インタラクティブな操作が可能です。プロセスの並び替えやフィルタリング、特定のプロセスの強制終了なども行えます。
topコマンドの基本的な使い方
コマンドの実行
まずは、基本的な使い方を見てみましょう。
以下のように、コマンドを入力するだけで使用できます。
top
コマンドを実行すると、画面が数秒ごとに更新されるようになります。
この表示は、「監視モード」に入り、q
キーで終了できます。
topコマンドの表示内容を読み解く
topを実行すると、上部にシステム全体の情報、下部に各プロセスの詳細が表示されます。
ここでは、主な表示項目を見ていきましょう。
上部のシステム情報(サマリー領域)
- uptime:システムの稼働時間と現在の時刻
- load average:1分、5分、15分間の平均負荷
- Tasks:プロセス数(実行中・スリープ・停止など)
- CPU:各状態におけるCPU使用率(user, system, idle など)
- Mem:メモリ使用状況(total, used, free, buff/cache)
- Swap:スワップ領域の使用状況
下部のプロセス情報(プロセスリスト)
項目名 | 意味 |
---|---|
PID | プロセスID |
USER | プロセスを所有しているユーザー |
PR | プロセスの優先度 |
NI | nice値(プロセスの優先順位の調整) |
VIRT | 仮想メモリサイズ |
RES | 実メモリ使用量 |
SHR | 他プロセスと共有しているメモリ量 |
S | プロセス状態(R=実行中、S=スリープなど) |
%CPU | CPU使用率 |
%MEM | メモリ使用率 |
TIME+ | プロセスの累積CPU使用時間 |
COMMAND | 実行中のコマンド名 |
topコマンドの便利な操作とショートカットキー
topコマンドでは、インタラクティブな操作が可能です。以下のようなキー操作で、表示のカスタマイズや並び替えができます。
キー | 動作内容 |
---|---|
q | topの終了 |
P | CPU使用率でソート(デフォルト) |
M | メモリ使用率でソート |
T | 実行時間(TIME+)でソート |
k | プロセスの終了(kill)→ PIDを入力 |
r | プロセスの優先度を変更(renice) |
1 | 各CPUの個別使用率を表示 |
h | ヘルプ画面を表示 |
これらのショートカットを活用することで、topの利便性が格段に上がります。
topコマンドのよく使うオプション
topには、起動時に表示内容や更新間隔を指定するオプションがあります。
オプション | 内容 |
---|---|
-d | 更新間隔の秒数を指定(例:top -d 5 ) |
-n | 表示の更新回数を指定(例:top -n 10 ) |
-u | 特定ユーザーのプロセスのみを表示(例:top -u root ) |
-p | 指定したPIDのプロセスのみを表示(例:top -p 1234 ) |
-b | バッチモード(スクリプト向け出力)で実行 |
例:更新間隔を5秒にして3回だけ実行する
top -d 5 -n 3
topコマンドと他ツールとの使い分け
topは非常に強力ですが、さらに詳細な情報や柔軟な操作が可能なコマンドも存在します。
htop
より見やすいインターフェースを備えたプロセスビューアです。カーソルキーでプロセスを選択でき、色分けされた表示が特徴です。
sudo apt install htop
htop
psコマンド
リアルタイムではなく、一度だけプロセス情報を表示する形式。スクリプト処理やログ取得に便利です。
ps aux | grep プロセス名
topコマンドを使いこなすためのコツ
- 目的に応じてソートを変更する:CPUやメモリで重いプロセスを見極めましょう。
- 不要なプロセスはkillで終了:リソースを圧迫するプロセスは
k
キーから終了。 - バッチモードでログ取得:
top -b -n 1 > top.log
のように使えば、ログとして保存可能です。 - 自動実行との組み合わせ:cronやシェルスクリプトと組み合わせて定期的なリソース監視にも応用可能です。
まとめ
topコマンドは、Linux環境でシステムの状態をリアルタイムに把握するための強力なツールです。
特別なインストールも必要なく、すぐに使えるため、トラブルシューティングやリソース監視に最適です。
使い方に慣れてくると、プロセスの管理やトラブルの初期対応がスムーズになり、Linuxシステムの理解も深まります。今回紹介した基本的な使い方やオプション、操作方法をぜひ実際に試してみてください。