top – プロセスとシステムリソースの使用状況を動的に表示するコマンド

監視・トレース
スポンサーリンク

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メモリ使用量順にソート
PCPU使用率順にソート
T実行時間順にソート
u特定ユーザーのプロセスに絞り込み
1CPUコアごとの使用率を表示

実行例

標準の 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やメモリが逼迫した場合に、どのプロセスが原因か調べるのに最もよく使われるコマンドです。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント