2010年7月23日金曜日

topコマンドの少し詳しい使い方

topコマンドの少し詳しい使い方をまとめておく。

topコマンドを叩いて確認できるのは次の項目。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

しかし、それ以外にも確認したいリソースがあるわけだ。
例えばSWAPのサイズはどれぐらいなのか、など。


【確認項目の追加と削除】
◆ topコマンドを叩く
% top


◆ 確認項目の追加・削除画面へ遷移
"f"を押す

すると画面が切り替わり、次のように表示される。

Toggle fields via field letter, type any other key to return

* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags
* X: COMMAND = Command name/line

ディフォルトでは左に"*"がついている項目のみが表示される。


◆ 確認項目の選択
ここでSWAPも確認対象としたければ"p: SWAP"とあるように、"p"を押す。

左に"*"がついた。
* P: SWAP = Swapped size (kb)

チェックを外したければもう一度"p"を押せばよい。

選択が終われば"enter"を押す。


SWAPが増えている。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND



しかしながら、この設定は一時的なものであり、次にtopコマンドを打った際は反映されない。
◆ 現在の設定の保存
リアルタイムなリソースモニタ中に
"shift"+"w"を押す。

Wrote configuration to '$HOME/.toprc'

チェックした項目がファイルに保存される。


topコマンドでのモニタでは一画面分しか確認できない。
そこで結果をファイルに出力させる。
◆ ファイルへの書き出し
% top -n 1 -b > file.txt

・オプション
-d 秒数 指定した秒数ごとに表示を更新する
-n 回数 指定した回数分だけを表示する
-p プロセスID 指定したプロセスIDのみを表示する