サーバーの状況確認をするために、利用するコマンドの1つとして「vmstat」があります。
ほかにもいろいろありますので、そちらについては別記事で・・・恐らく書きます。
「vmstat」ですが、実行すると下記の様な内容が画面に表示されます。
パっと見だと暗号の様に見えて意味がわかりません。
自分も意味が良く理解できていないですが、項目を1個ずつ見て行きましょう。
- procs
r : 実行待ちプロセス数
b : 割り込み不可プロセス数
- memory
swpd : スワップ容量
free : 空きメモリ容量
- swap
si : ディスクからのメモリスワップ容量
so : ディスクへのメモリスワップ容量
- io
bi : ブロックデバイスからの読込ブロック数
bo : ブロックデバイスへの書込ブロック数
- cpu
us : ユーザーCPU使用率
sy : システムCPU使用率
id : CPUアイドル率
wa : IO待ちCPU使用率
※「system」項目については、調べて追記します。
コマンドをたたいて、こんな感じの項目が出ることはわかったけど・・・これ何がわかるの?と言う感じだと思います。
実際にどの値をどーやって見るのがいいのかを、やんわり解説します。
ユーザーCPU使用率(us)の値が高い!
これは単純にCPUが貧弱または、他の処理でCPUが利用され過ぎているために高い値を示すことが多いです。
割り込み不可プロセス数(b)の値が高い!
IO処理で待ち状態となっている場合に高くなる傾向があります。
スワップ(si、so)に、0以外の値が表示されている!
メモリが足りない場合に、スワップが発生する事が多いです。
その場合には、IO(bi、bo)も引きずられて高い値を示す事があります。
IO待ちCPU使用率(wa)の値が高い!
IO処理で待ち状態となっている場合に高くなる傾向があります。
IO(bi、bo)が高い場合には、原因はIO処理待ちと特定出来ることが多いです。
システムCPU使用率(sy)の値が高い!
外部要因によることが多いです。
たとえば、ファイル参照、ディレクトリ参照、その他、NFS利用による問題などがあげられます。
単純にコマンドを実行するだけではなく、それぞれの値の変化などに気をつかって行けるようになれば、大きなトラブルを事前に回避する事ができるかもしれません。
今後、追記などで項目の説明などを増やして行こうと思います。
コメント