topの使い方
サーバのモニタリングを行う上でよくお世話になるコマンドのひとつがtopです。
topコマンドではCPUやメモリの使用状況と稼働しているプロセスが一目で確認することができるため、リアルタイムでサーバの状況を確認するときに重宝します。
topコマンドの見方と主なオプションをまとめます。
使い方
以下のコマンドを実行します。
top
実行すると以下のような画面が表示されます。
top - 20:59:34 up 5 days, 5:08, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 87 total, 1 running, 86 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2057316k total, 2003836k used, 53480k free, 83156k buffers
Swap: 1324024k total, 0k used, 1324024k free, 1749296k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15055 service 20 0 31480 2928 1088 S 0.3 0.1 1:34.45 tmux
24911 service 20 0 19072 1340 1020 R 0.3 0.1 0:00.94 top
1 root 20 0 8356 844 716 S 0.0 0.0 0:07.29 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.49 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:09.28 events/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
12 root 20 0 0 0 0 S 0.0 0.0 0:00.62 sync_supers
13 root 20 0 0 0 0 S 0.0 0.0 0:00.84 bdi-default
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
15 root 20 0 0 0 0 S 0.0 0.0 0:02.06 kblockd/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpid
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_hotplug
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kseriod
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kondemand/0
22 root 20 0 0 0 0 S 0.0 0.0 0:00.14 khungtaskd
23 root 20 0 0 0 0 S 0.0 0.0 0:00.74 kswapd0
24 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 aio/0
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 crypto/0
119 root 20 0 0 0 0 S 0.0 0.0 0:00.12 ata/0
120 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ata_aux
185 root 20 0 0 0 0 S 0.0 0.0 0:00.04 scsi_eh_0
186 root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
203 root 20 0 0 0 0 S 0.0 0.0 0:06.70 mpt_poll_0
205 root 20 0 0 0 0 S 0.0 0.0 0:00.00 mpt/0
206 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksuspend_usbd
207 root 20 0 0 0 0 S 0.0 0.0 0:01.12 khubd
308 root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
335 root 20 0 0 0 0 S 0.0 0.0 0:00.00 usbhid_resumer
348 root 20 0 0 0 0 S 0.0 0.0 0:37.42 kjournald
501 root 16 -4 16872 936 388 S 0.0 0.0 0:00.07 udevd
634 root 20 0 0 0 0 S 0.0 0.0 0:25.64 flush-8:0
645 root 18 -2 16868 836 316 S 0.0 0.0 0:00.04 udevd
646 root 18 -2 16868 796 276 S 0.0 0.0 0:00.00 udevd
1行目(uptime)
uptimeコマンドの出力と同じものが表示されます。
top - 20:59:34 up 5 days, 5:08, 2 users, load average: 0.00, 0.00, 0.00
- 20:59:34 up 5 days : 起動時間
- 5:08 : 現在時刻
- 2 users : 現在ログインしているユーザ
- load average: 0.00, 0.00, 0.00 : ロードアベレージ
2行目(プロセス)
稼働中のプロセスの情報が表示されます。
Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie
- 86 total : プロセスの合計数
- 1 running : 実行中のプロセス数
- 85 sleeping : スリーブ中のプロセス数
- 0 stopped : 停止中のプロセス数
- 0 zombie : ゾンビプロセス数
3行目(CPU)
CPUの使用状況に関する情報が表示されます。
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
- 0.0%us : ユーザのプロセスが使用している時間の割合
- 0.0%sy : システムのプロセスが使用している時間の割合
- 0.0%ni : nice値を変更したプロセスが使用している時間の割合
- 100.0%id : アイドル状態の時間の割合
- 0.0%wa : IOウェイトしている状態の時間の割合
- 0.0%hi : ハードウェア割り込み要求で使用している時間の割合
- 0.0%si : ソフトウェア割り込み要求で使用している時間の割合
- 0.0%st : 仮想化時にゲストOSが割り当て要求を行ったにもかかわらず割り当ててもらえなかった時間の割合
4行目(メモリ)
メモリの使用状況に関する情報が表示されます。
Mem: 2057316k total, 1991060k used, 66256k free, 83612k buffers
- 2057316k total : 合計メモリ量
- 1991060k used : 使用しているメモリ量
- 66256k free : 空きメモリ量
- 83612k buffers : バッファとして使用しているメモリ量
6行目移行(稼働プロセス)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8356 844 716 S 0.0 0.0 0:07.31 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.50 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:09.34 events/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper現在稼働しているプロセスの一覧が表示されます。