topコマンドは、リアルタイムにシステムの状態を表示します。
更新間隔が既定では 2 秒なので "-d" オプションで 1 を指定するとよいです。
$ top -d1
特定のプロセスのみを監視したい場合は "-p" オプションを使用します。
$ top -d1 -p 989,1092
pgrepと組み合わせると便利です。
$ top -d1 -p `pgrep -d "," -f "http"`
起動後はプロセス一覧の並び順を適宜変更します。
サーバ稼動時間、ログインユーザ数、過去1,5,15分前までのロードアベレージの平均値
top - 15:11:02 up 27 min, 1 user, load average: 0.00, 0.00, 0.00
タスクの状況 (全タスク数、実行中、待機中、停止中、ゾンビプロセス)
Tasks: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie
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
実メモリ使用率 (実メモリMem total = used + free、実メモリMem used の一部が buffers および cached)
Mem: 510824k total, 125260k used, 385564k free, 7992k buffers
52556k cached ← ややこしいことにSwapの行に表示される
仮想メモリ使用率 (全仮想メモリSwap total = used + free)
Swap: 1048568k total, 0k used, 1048568k free, 52556k cached ← ややこしいことにMemの情報が表示される
実行中に 'c' を押すと COMMAND 列が詳細表示に切り替わります。コマンドの引数なども確認できるため便利です。例えば
mysqld
という表示が
/usr/libexec/mysqld --basedir=/usr --datadir=...
という表示に切り替わります。
実行中に '1' を押すと 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
↓
Cpu0 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st