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