vmstat の出力に時刻を付加

vmstat をよく使うのだけど、あとでログを見返したときにいつの記録だったのかわからなくて不便。IBMUNIX である AIX に付属の vmstat はオプション -t をつけると末尾に時刻を表示してくれる。これは羨ましい。Linux でも時刻を出したい。というわけで awk で思いつきで書いてみました。

# vmstat -w 5 5 | awk '/[0-9]$/{print $0,strftime("%H:%M:%S")}/-$/{print $0,"--time--"}/t$/{print $0,"hr mi se"}'
procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu------- --time--
 r  b       swpd       free       buff      cache   si   so    bi    bo   in   cs  us sy  id wa st hr mi se
 1  0          0      87664     148676     191388    0    0     0     1    7   33   0  0 100  0  0 00:53:11
 1  0          0      83688     148680     191388    0    0     0    55  287   53  14 12  73  1  0 00:53:16
 1  0          0      73644     148680     191392    0    0     0     0  449   66  38  4  57  0  0 00:53:21
 0  0          0      87416     148680     191388    0    0     0     7   14   35   0  0  99  0  0 00:53:26
 1  0          0      83068     148680     191388    0    0     0     0  304   62  25  3  71  0  0 00:53:31

おお、できた。ちょっぴり便利そうだ。