top コマンドは、システム上で実行中の プロセスやCPU・メモリ使用状況をリアルタイムに表示・監視 するコマンドです。
サーバ監視や負荷調査、プロセス制御の際に利用されます。
構文(Syntax)
top [オプション]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 標準表示(全プロセスを監視) | top |
-d 秒数 | 更新間隔を指定 | top -d 2 |
-p PID | 特定プロセスのみ表示 | top -p 1234 |
-u USER | 特定ユーザーのプロセスを表示 | top -u alice |
-n 回数 | 指定回数だけ更新して終了 | top -n 3 |
-b | バッチモード(非対話的、スクリプト向け) | top -b -n 1 |
-c | コマンドライン全体を表示 | top -c |
対話モードの主なキー操作
| キー | 説明 |
|---|---|
q | 終了 |
h | ヘルプを表示 |
k | プロセスを kill(PID を入力) |
r | プロセスの優先度 (renice) を変更 |
M | メモリ使用量順にソート |
P | CPU使用率順にソート |
T | 実行時間順にソート |
u | 特定ユーザーのプロセスに絞り込み |
1 | CPUコアごとの使用率を表示 |
実行例
標準の top 表示
top
出力例(抜粋):
top - 11:20:15 up 5 days, 3:42, 2 users, load average: 0.15, 0.20, 0.10
Tasks: 203 total, 1 running, 202 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 1.0 sy, 0.0 ni, 93.5 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 15966.3 total, 1172.2 free, 8352.0 used, 6442.1 buff/cache
MiB Swap: 2047.0 total, 2037.0 free, 10.0 used. 7260.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 alice 20 0 500000 25000 5000 S 5.5 0.1 0:03.22 firefox
5678 root 20 0 100000 10000 2000 R 2.0 0.0 0:00.45 top
更新間隔を2秒に指定
top -d 2
特定ユーザーのプロセスのみ表示
top -u www-data
PIDを指定して監視
top -p 1234
スクリプトで利用(1回だけ出力)
top -b -n 1 | head -20
エラー例(存在しないユーザー指定)
top -u notfound
出力例:
Unknown user
関連コマンド
htop:topの改良版、操作性の良いUIを提供ps: 実行中プロセスを表示(静的出力)free: メモリ使用状況を表示vmstat: CPUやメモリ、IOなどの統計を表示
備考
topは対話型ツールであり、動的に更新され続けます。- サーバ運用時に利用する場合、スナップショットが欲しければ
-b -n 1が便利です。 - root 権限で実行すると他ユーザーのプロセスもすべて表示できます。
- CPUやメモリが逼迫した場合に、どのプロセスが原因か調べるのに最もよく使われるコマンドです。
参考
- manページ: man7.org top(1)
procファイルシステム: https://man7.org/linux/man-pages/man5/proc.5.html

コメント