topはプロセス(CPU使用率が高いものから順)に関する情報を表示するコマンドである。
topコマンドの使用例を次に示す。
$ top
top - 18:23:55 up 11 min, 0 users, load average: 0.52, 0.58, 0.59
Tasks: 4 total, 1 running, 3 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.8 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.1 hi, 0.0 si, 0.0 st
MiB Mem : 6021.7 total, 1621.5 free, 4176.2 used, 224.0 buff/cache
MiB Swap: 18432.0 total, 18364.0 free, 68.0 used. 1714.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8944 328 288 S 0.0 0.0 0:00.10 init
6 root 20 0 8944 224 180 S 0.0 0.0 0:00.00 init
7 tsuka 20 0 19108 3632 3540 S 0.0 0.1 0:00.11 bash
56 tsuka 20 0 19936 2132 1520 R 0.0 0.0 0:00.03 top
topコマンドを実行すると、CPU使用率等が表示される。これらの値は、リアルタイムで刻々と更新されていく。この表示を終了させるには、q
キーを押す。
topコマンドには次に示すオプションを指定できる。
topコマンドをバッチ・モードで実行する場合、入力は受け付けず、-nオプションで指定した反復回数の上限まで、あるいはkillされるまで実行される。
$ top -h
$ top -v
優先度が高いプロセスは、多くのCPU時間を割り当てられる。
プロセスの優先度は原則としてLinuxシステムが決めるが、ユーザが nice または renice コマンドで変更できる。nice値は-20から19までの範囲で指定できる。
KiB(キビバイト)は1,024バイトを表す。kB(キロバイト)は1,000バイトを表すが、1,024バイトを意図する誤用が多いため、明確に区別するためにKiBが定められた。
状態 | 説明 |
---|---|
D | スリープ(割込み不可) |
R | 実行中 |
S | スリープ |
Z | ゾンビ |
topコマンドの結果をファイルへ出力するには、topコマンドに -b オプションを指定してバッチ・モードで実行する。
バッチ・モードで実行する場合はインタラクティブ・コマンドを受け付けないので、-n オプションでtopコマンドの反復回数も指定する。
$ top -b -n 1 > top.txt
$ top -b -d 10 -n 6 > top.txt
OS | 対応状況 |
---|---|
AIX | × |
HP-UX | ○ |
Linux | ○ |
Solaris | × |
Tru64 | ○ |
Solarisにはtopコマンドが存在しない。似たコマンドにprstatがある。
AIXにはtopコマンドが存在しない。似たコマンドにtopasがある。