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
現在稼働しているプロセスの一覧が表示されます。