LinuxサーバーやPCでリソース監視をするなら「top」コマンドは必須ツールです。
この記事では、topコマンドの基礎から実務向けの便利オプション一覧、そして現場で役立つ活用テクニックまで、初心者にも分かりやすく解説します。
さらに、実行時に表示される各カラムの意味も丁寧に解説します。
「top」コマンドは、Linux/Unix系OSで現在動作しているプロセスやシステムリソース(CPUやメモリなど)の使用状況をリアルタイムで一覧表示する監視ツールです。
管理者や運用担当者は、これによって「今、このマシンで何が起きているのか?」を即座に把握できます。
top
この1行を実行するだけで、システムの負荷状態や主要プロセスの情報が定期的に更新されながら表示されます。
実行例
topコマンドの下半分には、各プロセスの詳細が表形式で一覧表示されます。代表的なカラムは次の通りです。
カラム | 説明 |
---|---|
PID | プロセスID(Process ID)。システム内で一意な識別番号です。 |
USER | そのプロセスを実行しているユーザー名。 |
PR | プロセスの優先度(Priority)。値が小さいほど高優先度です。 |
NI | nice値。ユーザーが調整可能な優先度補正値(-20〜+19)。 |
VIRT | 仮想メモリサイズ。プロセスが利用可能なメモリの合計量。 |
RES | 実際に物理メモリ上に存在しているサイズ(Resident Set Size)。 |
SHR | 他プロセスと共有しているメモリ量(Shared Memory)。 |
S | プロセス状態(S:スリープ中、R:実行中、Z:ゾンビなど)。 |
%CPU | CPU使用率(直近の更新間隔での割合)。 |
%MEM | 物理メモリ全体に対する使用割合。 |
TIME+ | プロセスが消費した累計CPU時間(秒以下まで表示)。 |
COMMAND | 実行中のコマンド名またはパス。 |
これらを理解しておくと、topの画面からボトルネックの原因や異常なプロセスをすばやく見つけられます。
オプション | 説明 |
---|---|
-d 秒数 | 更新間隔を変更(例: top -d 3 )。 |
-n 回数 | 指定回数だけ更新後終了(例: top -n 5 )。 |
-b | バッチモード(ログ保存や加工に便利)。 |
-p PID | 特定PIDのみ表示。 |
-u USER | 指定ユーザーのプロセスだけ表示。 |
-U USER | 実ユーザーによるフィルタ。 |
-H | スレッド単位で表示。 |
-c | コマンドライン引数も表示。 |
-i | アイドルプロセスを表示しない。 |
-s | セキュアモードで起動。 |
-S | 累積CPU使用時間を表示。 |
-w | ワイド表示(横幅拡張)。 |
-t | 実行時間(TIME+)でソート。 |
・ログとして保存(2秒間隔で3回)
top -b -d 2 -n 3 > toplog.txt
・特定ユーザーのプロセスを表示
top -u username
・特定PIDだけ監視
top -p 1234
・スレッドごとの動きを確認
top -H
キー | 機能 |
---|---|
h | ヘルプ表示 |
k | プロセス終了(PID指定) |
r | 優先度変更(renice) |
u | ユーザーフィルタ |
P | CPU使用率順にソート |
M | メモリ使用量順にソート |
T | 実行時間順にソート |
1 | CPUコアごとの利用率を表示 |
q | topを終了 |
-b
とリダイレクトで時系列データを残せます。-u
や-p
で必要な情報だけを見るのが効率的。.toprc
設定で最適化。topコマンドはLinux管理の即戦力ツールです。
本記事で紹介したオプション、カラムの意味、応用例を組み合わせれば、システム監視・負荷解析・トラブルシュートが格段に効率化します。
「数字の意味が分かる」状態を作れば、情報は一気に武器になります。