top - システム情報をリアルタイム監視 | Linuxサーバ監視
2009/07/08 00:28更新
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 - 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:プロセスID4094 root 16 0 18692 6252 1588 S 0.3 0.2 43:59.74 hald
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で自宅サーバ構築(新森からの雑記)
Sponsored Link
- 関連記事
- RPMパッケージから Linuxドライバーのインストール - (2009/06/13 23:36)
- SuSE YaSTで利用する言語の設定および変更 - (2011/03/18 07:43)
- AWK - 強力なテキスト処理ツール・プログラミング言語 - (2009/06/10 15:16)
- shutdown - システム シャットダウン・再起動 - (2009/06/10 15:53)
- Linuxシェル(Shell)の作成と実行 - (2009/06/10 16:14)
- LinuxでUSBメモリを使う - (2009/06/13 15:33)
- viコマンドを使おう - これだけを覚えておけば - (2009/06/13 20:58)
- uname - Linuxカーネル 確認 - (2009/06/13 23:48)
- df / du コマンド - ハードディスクの使用状況・ファイル/フォルダサイズ表示 - (2009/06/15 14:56)
- tailコマンド活用 - ログ出力をリアルタイムに追跡 - (2009/06/15 15:31)