雑多なインフラエンジニア日記

技術ブログでっす~

Linux vmstatで時刻を表示

トラブル時や性能試験時に、リアルタイムでサーバリソースを見るときに、
vmstat を使うことが多いのですが、リソース情報と一緒に時刻も表示させ
る方法をメモ。

・コマンド

vmstat -a 1 | perl -MPOSIX -pe 'BEGIN{$|=1} print strftime q{%Y/%m/%d %H:%M:%S }, localtime'


・結果

2013/03/01 10:58:31 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
2013/03/01 10:58:31  r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
2013/03/01 10:58:31  1  0      0 5772388 548932 888980    0    0     0    48   17   17  4  1 94  0  0   
2013/03/01 10:58:32  0  0      0 5770884 548932 890680    0    0     0     0   45   41  1  0 99  0  0   
2013/03/01 10:58:33  3  0      0 5732472 548964 928772    0    0     0     4  848  563 56 11 34  0  0   
2013/03/01 10:58:34  0  0      0 5770768 548928 890304    0    0     0    88  418  226 38  5 57  1  0   
2013/03/01 10:58:35  0  0      0 5770908 548928 890304    0    0     0     0   18   27  0  0 100  0  0  


・補足
厳密にメモリの空き容量(active/inactive)を見る場合は、vmstat に -a オプションを
付けることをお勧めします。

http://192168111.blog71.fc2.com/blog-entry-1.html
http://www.atmarkit.co.jp/flinux/rensai/tantei01/bangai01c.html


javaのGC関連見るのにも使えます。

$ jstat -gc -h 20 [PID] 1s 999999999 | perl -MPOSIX -pe 'BEGIN{$|=1} print strftime q{%Y/%m/%d %H:%M:%S }, localtime'
2013/01/10 15:15:23  S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT   
2013/01/10 15:15:23 6784.0 6528.0 4210.2  0.0   1559552.0 82950.9  1572864.0   210220.8  65536.0 28200.6    202    1.785   1      0.025    1.810
2013/01/10 15:15:24 6784.0 6528.0 4210.2  0.0   1559552.0 155116.4 1572864.0   210220.8  65536.0 28200.8    202    1.785   1      0.025    1.810
2013/01/10 15:15:25 6784.0 6528.0 4210.2  0.0   1559552.0 199280.1 1572864.0   210220.8  65536.0 28200.8    202    1.785   1      0.025    1.810
$



・以下でも時刻は表示できます。

vmstat -a 1 | awk '{print strftime("%Y/%m/%d %H:%M:%S" ), $0}'


・以下は見難いです。

vmstat -a 1 -t