topコマンド

プロセスに関するソートされた情報を表示および更新します。

概要

topは、実行中のシステムプロセスのリアルタイムな動的ビューを提供します。CPU使用率、メモリ消費量、実行時間、その他のシステム統計情報を表示する、継続的に更新されるプロセスのリストを表示します。表示は一定の間隔で更新され、ユーザーはシステムパフォーマンスを監視し、リソースを大量に消費するプロセスを特定することができます。

オプション

-d, --delay

画面更新の間隔を秒単位で指定します(小数点を含めることができます)

$ top -d 5
[デフォルトの代わりに5秒ごとに表示を更新する]

-n, --iterations

終了前の最大繰り返し回数を指定します

$ top -n 3
[3回更新を表示した後に終了する]

-p, --pid

指定したプロセスIDのプロセスのみを監視します

$ top -p 1234,5678
[PID 1234と5678のプロセスのみを表示する]

-u, --user

指定したユーザーが所有するプロセスのみを表示します

$ top -u username
['username'が所有するプロセスのみを表示する]

-b, --batch

バッチモードで実行します(他のプログラムやファイルに出力を送るのに便利)

$ top -b -n 1 > top_output.txt
[topの出力を1回キャプチャしてファイルに保存する]

-H, --threads

プロセスごとに要約する代わりに個々のスレッドを表示します

$ top -H
[プロセスの代わりにスレッドを表示する]

インタラクティブコマンド

topの実行中に、以下のキーボードコマンドを使用できます:

プロセス制御

k - プロセスを終了(PIDとシグナルの入力を求められます)
r - プロセスのnice値を変更(優先度の変更)
q - topコマンドを終了

表示オプション

h または ? - ヘルプ画面
f - フィールド管理(列の追加/削除)
o - ソートフィールドの変更
1 - 個々のCPUコアの表示を切り替え
m - メモリ表示モードの切り替え
t - タスク/CPU表示モードの切り替え
c - コマンドライン/プログラム名の表示切り替え

使用例

基本的なシステム監視

$ top
top - 14:23:45 up 3 days, 2:34, 2 users, load average: 0.15, 0.10, 0.09
Tasks: 213 total,   1 running, 212 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.3 us,  0.7 sy,  0.0 ni, 96.9 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15895.1 total,   7431.0 free,   3820.2 used,   4643.9 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.  11389.0 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 user      20   0 3256712 198232  89456 S   2.0   1.2   5:23.45 firefox
 5678 user      20   0 2345678 123456  65432 S   1.5   0.8   3:45.67 chrome

特定ユーザーのプロセスの監視

$ top -u root
[rootユーザーが所有するプロセスのみを表示する]

topの出力をファイルに保存

$ top -b -n 1 | grep firefox > firefox_processes.txt
[Firefoxプロセスに関する情報をファイルにキャプチャする]

ヒント:

プロセスリストのソート

Pを押してCPU使用率でソート、Mを押してメモリ使用率でソート、またはTを押して時間でソートします。これにより、リソースを大量に消費するプロセスを素早く特定できます。

更新間隔の変更

topの実行中にdまたはsを押して、更新間隔を変更します。急速に変化するシステムの監視やリソースの節約に役立ちます。

プロセスのフィルタリング

oまたはOを使用して、特定の基準に基づいてプロセスをフィルタリングします。例えば、特定のしきい値を超えるメモリ使用量でフィルタリングできます。

メモリ表示単位

Eを押して、異なるメモリ表示単位(KiB、MiB、GiBなど)を切り替えることで、メモリ統計の読み取りが容易になります。

よくある質問

Q1. topを終了するにはどうすればよいですか?

A. qを押してtopコマンドを終了します。

Q2. top内からプロセスを終了するにはどうすればよいですか?

A. kを押し、終了したいプロセスのPIDを入力し、シグナル番号(SIGKILLの場合は9)を指定します。

Q3. 更新レートを変更するにはどうすればよいですか?

A. top起動時に-dオプションを使用するか(例:top -d 5で5秒)、top実行中にdを押します。

Q4. topが他のツールと異なるCPU使用率を表示するのはなぜですか?

A. topは更新間隔の間の時間に基づいてCPU使用率を計算しますが、他のツールは異なる計算方法や時間間隔を使用する場合があります。

Q5. メモリ使用量をより読みやすい形式で表示するにはどうすればよいですか?

A. top実行中にEを押して、異なるメモリ表示単位を切り替えます。

参考文献

https://man7.org/linux/man-pages/man1/top.1.html

改訂履歴