top - システム情報をリアルタイム監視 | Linuxサーバ監視

2009/07/08 00:28更新
TAGS: top | Linux | コマンド | メモリ | CPU | IO

topは、システム全体の情報(プロセス、CPU、メモリ、Swap)をリアルタイムに表示するコマンドです。本文はtopコマンドの実行例から、top出力の見方を学びたいと思います。

top実行例


$ top
top - 18:24:46 up 200 days,  2:39,  2 users,  load average: 0.05, 0.26, 0.51
Tasks: 137 total,   1 running, 136 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2% us,  0.2% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   3980516k total,  3791316k used,   189200k free,   180980k buffers
Swap:  6144852k total,      160k used,  6144692k free,  1280136k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
4094 root      16   0 18692 6252 1588 S  0.3  0.2  43:59.74 hald
5028 root      16   0  3840 2072  984 S  0.3  0.1  12:40.86 nvnmgr
6451 root      16   0  6148 1020  756 R  0.3  0.0   0:00.01 top
    1 root      16   0  4752  568  476 S  0.0  0.0   0:21.00 init
    2 root      RT   0     0    0    0 S  0.0  0.0   0:47.85 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:02.84 ksoftirqd/0
...

top出力の見方


■概要部:
1行目:現在時刻 稼動期間 ログインユーザ数 CPU使用率(ロードアベレージ)
例:
top - 18:24:46 up 200 days,  2:39,  2 users,  load average: 0.05, 0.26, 0.51
※load averageについて:
 1)CPU待ちのプロセス数の1分、5分、15分ごとの平均値で、CPUの使用率と考えてもよいでしょう。一般的には、この数字は大きいほど大きければCPU負荷がかかりすぎると考えられます。
 2)通常の場合、平均的に1以下です(CPU数)、1以下と言うのは、待たされているプロセスはほとんど無いとのことです。
2行目:プロセス(タスク)関連情報。
例:
Tasks: 137 total,   1 running, 136 sleeping,   0 stopped,   0 zombie
    total:総稼動プロセス数
    running:稼働中のプロセス数
    sleeping:待機中のプロセス数
    stopped:停止プロセス数
    zombie:ゾンビ・プロセス数
3行目:CPUの使用状態。
例:
Cpu(s):  0.2% us,  0.2% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
    us:ユーザプロセスによる使用率
    sy:システムプロセスによる使用率
    ni:優先指定プロセスによる使用率
    id:システム アイドル率
    wa:ファイルIOの待ち時間
    hi:ハードウェア割込み要求での使用時間
    si:ソフトウェア割込み要求での使用時間
4行目:メモリの使用状況。
例:
Mem:   3980516k total,  3791316k used,   189200k free,   180980k buffers
    total:メモリ総量
    used:使用したメモリ量
    free:未使用メモリ量
    buffers:バッファキャッシュの量
5行目:スワップ領域の使用状況。
例:
Swap:  6144852k total,      160k used,  6144692k free,  1280136k cached
    total:スワップ領域総量
    used:使用したスワップ領域の量
    free:未使用スワップ領域の量
    cached:ファイルキャッシュの量

■一覧部
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
4094 root      16   0 18692 6252 1588 S  0.3  0.2  43:59.74 hald
PID:プロセスID
USER:プロセスのユーザ
PR:優先度
NI:タスクの nice 値。負の nice 値は高い優先度を意味し、正の nice 値は低い優先度を意味する。
VIRT:タスクが使用している仮想メモリの総量。
RES : タスクが使用しているスワップされていない物理メモリ
SHR : プロセスが使用している共有メモリサイズ (kb)
S : プロセスの状態
    * S    スリープ状態
    * T    停止中
    * D    割り込み不可(sleep)
    * N    ナイス値がプラス
    * <    ナイス値がマイナス
    * R    実行中
    * Z    ゾンビ
    * W スワップアウト
%CPU: CPU使用率
%MEM : メモリ使用率
TIME+ : プロセスの実行時間(秒)
COMMAND : コマンド名

■ホットキー:topが実行される状態で押されるキーのこと

ホットキー     概要
  Z,B       グローバル: 'Z' change color mappings; 'B' disable/enable bold
  l,t,m     概要の表示・非表示: 'l' load avg(ロードアベレージ); 't' task/cpu stats(プロセス・CPU状態); 'm' mem info(メモリ情報)
  1,I       SMPビュー切り替え: '1' single/separate states; 'I' Irix/Solaris mode
  f,o     . フィールド/項目: 'f' 追加/削除; 'o' 表示順変更
  F or O  . 並び替え項目を選択する
  <,>     . 並び替え項目順設定: '<' 次の項目を左へ移動; '>' 次の項目を右へ移動
  R       . 並び替え順変更 normal(通常)/reverse(逆転)モード
  c,i,S   . 切り替え: 'c' cmd name/line; 'i' idle プロセスの表示 on/off; 'S' 累積時間の表示 on/off
  x,y     . ハイライト表示の切り替え: 'x' 並び替え項目; 'y' running tasks
  z,b     . 切り替え: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u       . 指定するユーザプロセスのみを表示する
  n 又は #  . 表示するプロセスの最大数設定
  k,r       プロセス操作: 'k' kill(強制終了); 'r' renice(優先順位変更)
  d 又は s    更新の間隔(秒単位)を変更する。
  W         現在の設定を設定ファイルに保存する
  q         TOPコマンドを終了する。

参考資料


@IT:障害の兆候を見逃さないためのサーバ監視(2/3)
Linux 覚書 システム全体の情報を表示する方法 (top コマンド) -- Ray:雑学事典 -- Ray:雑学事典
Manpage of TOP「日本語マニュアル」
topコマンドの使い方 - Linuxで自宅サーバ構築(新森からの雑記)

著者について
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


コメント