« CPU使用状況を確認する | トップページ | なれる!SE11 絶対?管理職宣言 »

2014.02.25

topコマンドの見方

昨日に続いてサーバ監視編。
今日は強力なモニタリングツール"top"について。
一番重要なポイントは、現在利用されているプロセスで何がリソースを食っているのかを確認できる。
topコマンドの出力結果についてはそれ以外にもいろいろ付録がついてきたりするので、それもあわせておいしくいただくとしよう。

なお、topは基本Linux系であれば標準でインストールされているはずである。
他のUNIX系だと別のコマンドに似たような機能を有している場合があり、それについては末尾におまけで載せておく。


コマンドラインからtopを入力すれば上記のような画面が表示される。
  1. サーバの基本情報:サーバ起動からの経過時間
  2. Load Average:左から直近1分間/5分間/10分間平均値
  3. プロセスの数:OS全体のプロセス数と各状態別プロセス数
  4. CPU使用率:vmstatで取得できるものと基本は同じ
  5. メモリ、スワップ量:メモリとスワップ領域の使用量
  6. 各プロセスの実行状況
top画面全体の見方は上記の情報どおり。個々の内容については、どのようなことを見ればいいかを次に述べる。

1. サーバ基本情報:OS立上からの起動時間がすごく長いようであれば、ガベージなどがたまっている可能性があるかも。Zombieプロセスなどが無いか確認する。
2.Load Average/4.CPU使用率:CPU使用率については先日のエントリー[CPU使用状況を確認する]をご参照。サーバの負荷状態がCPUバウンドかどうか見て取れる
3.プロセスの数:現在常駐しているプロセスの数量と状態がわかる。この例ではsleepingプロセスが多く、一部のrunningプロセスがあるだけで、ほぼCPUはアイドル中であることがわかる。
5.メモリ、スワップ量:8GBの有効メモリと8GB分のスワップ領域が確保されており、スワップは利用されて無いことが見て取れる。メモリの使用量は多いが、スワップ発生していない状態
6.現時点でのヘビープロセスが上位から見て取ることができる

PID  :プロセスID。OS上のプロセス番号がわかる
USER  : ユーザーID。そのプロセスを実行しているユーザーがわかる
PR   : 優先度。優先度の高いプロセスは優先的にCPU使用時間を割り当てられる。数値の大きいほうが優先度が高い
NI   : ナイス値。実行優先度を変更する際に設定できる。-19~19で設定可能なケースが多い
VIRT  : 仮想メモリの総量。
RES  : 物理メモリの総量。
SHR  : 使用中の共有メモリ量。
S   : プロセスのステータス。Rは実行可能、Sは停止、Dは割り込み不可の停止、Tは停止またはトレース中、Zはゾンビ・プロセス
%CPU  : そのプロセスのCPU使用率。CPUバウンドの際にここに着目すると、CPUを消費しているプロセスが特定できる
%MEM  : そのプロセスのメモリ使用率。メモリバウンドの際に個々の値を見れば、メモリを消費しているプロセスが特定できる
TIME+ : そのプロセスのCPU実行時間がわかる。この値が大きい処理は長期的にリソースを占有している可能性がある
COMMAND:そのプロセスの実行実態がわかる。この例ではpg_statifoデーモンが一番負荷をかけている

◆類似コマンド他のOS

[AIX : topas]

CPU情報がTOPに比べると取れるものが少ない一方で、ネットワークのIO情報などもとれるなど特徴がありますね。

[Solaris : prstat]

LoadAverageが取れる一方でvmstat/iostat等でとれる情報は割愛されてますね。 ただこちらもちゃんとヘビープロセスの検知はできるので一番ポイントとなる部分はOK。

[Windows : tasklist]

ほんとのおまけ。
Windowsであればなんといってもタスクマネージャーがあるので、普通はCUIベースでのプロセス確認はあまり必要とされないだろうが、ロギングしたりする場合にはそれなりに重宝するかも。
上記の例は"/V" オプションでCPU時間、メモリ使用量等を出力しているが、"/M"オプションを使えばそのプロセスがコールしているDLL情報を表示したりといろいろなことができる。
詳しくは "/?"スイッチでヘルプを見てみること。

|

« CPU使用状況を確認する | トップページ | なれる!SE11 絶対?管理職宣言 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/59189801

この記事へのトラックバック一覧です: topコマンドの見方:

« CPU使用状況を確認する | トップページ | なれる!SE11 絶対?管理職宣言 »