Tips記事
» 2003年02月14日 19時09分 UPDATE

プロセスを数秒ごとに監視したい

[木田佳克,ITmedia]

 サーバ上のプロセス状況を監視したい場合には、「top」コマンドを利用して行う方法がある。以下は、その実行例であり、標準設定では1秒置きに更新される。変更したい場合には「top -d 5」(例:5秒)などと指定すればよい。

$ top
50 processes: 47 sleeping, 3 running, 0 zombie, 0 stopped
CPU states:  0.5% user,  0.7% system, 98.6% nice,  0.0% idle
Mem:   126172K av,  120656K used,   5516K free,   0K shrd,   38652K buff
Swap:  257032K av,    8056K used, 248976K free               40208K cached
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
  857 root      39  19 14816  14M   820 R N  98.9 11.7  1361m setiathome
 1989 root      15   0  1028 1028   840 R     0.5  0.8   0:00 top
  897 root       5 -10 56444 7036  2100 S <   0.1  5.5   4:14 X
    1 root      15   0   480  480   424 S     0.0  0.3   0:04 init
    2 root      15   0     0    0     0 SW    0.0  0.0   0:00 keventd
    3 root      15   0     0    0     0 SW    0.0  0.0   0:00 kapmd
    4 root      34  19     0    0     0 SWN   0.0  0.0   0:00 ksoftirqd_CPU0
    5 root      15   0     0    0     0 SW    0.0  0.0   0:00 kswapd
    6 root      15   0     0    0     0 SW    0.0  0.0   0:00 bdflush
    7 root      15   0     0    0     0 SW    0.0  0.0   0:00 kupdated
〜以下略〜

 ほかにも、特定のプロセスのみを継続的に監視したい場合には、次のように指定するとよい。カスタマイズすべき指定は黄色の個所であり、ここでは「--interval=5」が5秒ごとの更新、grepに続く「http」が監視を行いたいサービス名を意味する(サービス名は、ps axなど実行時に見られる文字列を指定)。psコマンドで表示される項目は、「ps aux」コマンドで表示される項目の意味を知りたい」Tipsが参考になるだろう。

# watch --interval=5 "ps auxw | grep http"

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ