たまに使うので使い方のメモ。
コマンド
[root@localhost ~]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 683760 17664 187008 0 0 235 45 1030 147 1 7 89 3 0 0 0 0 683760 17664 187008 0 0 0 0 1007 82 0 0 100 0 0 0 0 0 683760 17672 187008 0 0 0 124 1007 86 0 2 94 5 0
メモリをMbyteで表示する場合。
[root@localhost ~]# vmstat -S M 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 667 17 182 0 0 245 47 1030 148 1 7 88 3 0 0 0 0 667 17 182 0 0 0 16 1020 95 0 2 96 3 0 0 0 0 667 17 182 0 0 0 0 1012 297 1 10 90 0 0
時間を表示させる場合。
[root@localhost ~]# vmstat -S M 2 | awk '{print strftime("%y/%m/%d %H:%M:%S"), $0}' 13/11/15 21:08:44 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 13/11/15 21:08:44 r b swpd free buff cache si so bi bo in cs us sy id wa st 13/11/15 21:08:44 1 0 0 667 17 182 0 0 218 44 1030 145 1 7 89 3 0 13/11/15 21:08:46 0 0 0 667 17 182 0 0 0 126 1003 92 0 1 96 3 0 13/11/15 21:08:48 0 0 0 667 17 182 0 0 0 0 969 85 0 1 99 0 0
procs:
r CPU へのアクセスを待っているプロセスの数
b 入出力待ちでスリープ状態にされているプロセス数
b の値が定常的に多くなると、ディスク性能の問題の可能性があるためよろしくない。
memory:
swpd 仮想メモリ量
free 空きメモリ量
buff バッファに使用されているメモリ量
cache ページキャッシュとして使用されているメモリ量
swap:
si ディスクからスワップインしたディスクメモリの量
so ディスクにスワップアウトしたディスクメモリの量
物理メモリが足りていれば、これらの数値はあまり上がらない.
swapの値が定常的に高い場合は、物理メモリが不足している可能性がある。
io:
bi ブロックデバイスから受け取ったブロック (blocks/sec)
bo ブロックデバイスに送られたブロック (blocks/sec)
大きなファイルの移動(コピー、ダウンロードなど)や、多くのデータをデータベースから読む込むときは、大きく数字が上がる。
system:
in 毎秒の割り込み回数
cs 毎秒のコンテキストスイッチの回数
cpu
us ユーザーが使用したCPUの割合(%)
sy システムが使用したCPUの割合(%)
id CPUのアイドル(%)
wa IOの待ち時間
id(空き) = us(ユーザー利用) + sy(システム利用)
CPUで%Idleが80%以上あっても良しと思わない。
最近のサーバはたいていマルチコアなのでTOPコマンドで確認する。
VMSTATはprocsとswapをみる。
swapは0になっていることを目指す。なっていなければメモリを増やすか、
アプリの作りを検討すべし。
vmstatの見方と考え方
http://piro791.blog.so-net.ne.jp/2008-10-02
以上