1 |
$ top |
topコマンドの画面構成は上から順にサマリー、コマンド・メッセージ、ヘッダー、タスクエリアに分かれる。
1,サマリー
最初の行
最初の行はuptimeコマンドの出力と同じであると思われる。
1 |
top - 20:54:21 up 3 days, 21:33, 3 users, load average: 0.07, 0.08, 0.23 |
左から順に、現在時刻 稼働時刻 ログインしている人数 過去1分、5分、15分の平均負荷
2行目
1 |
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie |
全部で98個のプロセス、1個動いている、97個寝ている、0個止まっている、0個ゾンビ
sleepingは、割り込みやイベントを待っている状態のことだと思われる。
stoppedは、Ctrl+Zやデバッガなどで外部から停止させられたプロセスと思われる。
zombieはプロセスは終了して戻り値などを親に回収してもらうのを待っているプロセス。
3行目
1 |
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st |
0.0%ユーザーCPU時間、0.0%システムCPU時間、0.0%ナイスCPU時間、99.7%アイドルCPU時間、0.0%IO待ちCPU時間、0.0%ハードIRQ時間、0.0%ソフト割り込み時間、0.0%盗まれ時間
ユーザCPU時間はniceコマンドを使っていないこのユーザのプロセスのCPU時間
システムCPU時間はカーネルプロセスのCPU時間
ナイスCPU時間はniceコマンド使ったこのユーザのCPU時間
アイドルCPU時間は何もしてないCPU時間
IO待ちCPU時間はおそらくディスクの読み書きをなどを待っている時間
ハードIRQ時間はハードからの割り込みを処理した時間
ソフト割り込みCPU時間はソフトからの割り込みを処理した時間
盗まれ時間はこのマシンが仮想マシンで、ハイパーバイザから奪われた時間
4行目、5行目
1 2 |
Mem: 509064k total, 359772k used, 149292k free, 18696k buffers Swap: 933896k total, 37008k used, 896888k free, 157780k cached |
省略
コマンド・メッセージ
コマンドなどが表示される行。1行
ヘッダ
1 |
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND |
PID:プロセスID、プロセスごとに付けられた番号
USER:プロセスの実効ユーザ
PR:プロセスの優先順位、低いほど高い。RTと表示されるものもあるがリアルタイムのことか?
NI:プロセスのナイス値。低いほど高い。普通に起動したものは0になる。
VIRT:使っている仮想メモリ(kb)
RES:使っている物理メモリ(kb)
%CPU:前回の画面のリフレッシュからつかったCPU時間。%
%MEM:物理メモリのうちどれだけ使っているか。%
TIME+:プロセスが開始してからのCPU時間。デフォルトでは子プロセスを含まない。
タスクエリア
実際に動いているプロセス。デフォルトでは%CPUでソートされる。
ここからインタラクティブコマンドを使った操作
1,表示されるフィールドを増やしたり減らしたりする。
‘f’を押す。画面が変わって最初の行に以下のようなアルファベットの並びが現れる。
1 |
AEHIOQTWKNMbcdfgjplrsuvyzX |
ひとつのアルファベットがひとつのフィールドを表し、大文字のものが表示されているものを表す。切り替えるにはそのキーを押す。キーを押すと大文字小文字が切り替わる。終わったらEnterでぬける。
2,フィールドの表示される順番を変える
‘o’を押すと、上記のようなアルファベットが表示される。大文字は表示されているやつ。大文字小文字を押すとそのフィールドが右左に移動する。
その他のコマンド
役に立ちそうなもののみ。
G
1から4を入力して他のフィールドをみる。
B
太字表示になる。
uとU
ユーザ名を入力して特定のユーザだけ表示する。’u’だと実行ユーザだけ、’U’だとリアルユーザIDとか他のやつも含む。
k
killする。PIDを入力する。
r
reniceする。PIDのあとに数値を入れる。
W
現在の設定を保存する。
x
ソートしているフィールドをハイライトする。
S
子プロセスの時間も親プロセスに含める。initなどではoffがよくて、コンパイラなどではonがいい。
i
アイドルのプロセスを隠す。
<と>
ソートするフィールドの移動。