定期的に結果を出力するコマンドに時間を表示させる方法です。 パフォーマンステストの状況確認を行う場合に便利かも。 OS: CentOS 6.3(64-bit) vmstat: 3.2.8 top: 3.2.8
■vmstatに時間を表示させる
[root@cent63 ~]# vmstat 1 3 | awk '{print strftime("%Y/%m/%d %H:%M:%S"), $0}'
2012/10/14 21:45:58 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
2012/10/14 21:45:58 r b swpd free buff cache si so bi bo in cs us sy id wa st
2012/10/14 21:45:58 1 0 4832 99536 115484 398552 0 0 0 1 9 3 0 0 100 0 0
2012/10/14 21:45:59 0 0 4832 99520 115484 398552 0 0 0 0 48 85 0 1 99 0 0
2012/10/14 21:46:00 0 0 4832 99520 115484 398552 0 0 0 0 51 82 1 0 99 0 0
[root@cent63 ~]#
perlを使う方法もあります。
[root@cent63 ~]# vmstat 1 3 | perl -MPOSIX -pe 'BEGIN{$|=1} print strftime q{%Y/%m/%d %H:%M:%S }, localtime'
2012/10/14 21:46:08 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
2012/10/14 21:46:08 r b swpd free buff cache si so bi bo in cs us sy id wa st
2012/10/14 21:46:08 1 0 4832 99536 115484 398552 0 0 0 1 9 3 0 0 100 0 0
2012/10/14 21:46:09 0 0 4832 97412 115496 398980 0 0 440 0 170 175 5 3 72 20 0
2012/10/14 21:46:10 0 0 4832 97412 115496 398980 0 0 0 0 50 85 0 0 100 0 0
[root@cent63 ~]#
■topに時間を表示させる
[root@cent63 ~]# top -n 1 -b | head -5 | awk '{print strftime("%Y/%m/%d %H:%M:%S"), $0}'
2012/10/14 21:48:17 top - 21:48:17 up 43 days, 3 min, 2 users, load average: 0.00, 0.00, 0.00
2012/10/14 21:48:17 Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
2012/10/14 21:48:17 Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012/10/14 21:48:17 Mem: 1020644k total, 922124k used, 98520k free, 115500k buffers
2012/10/14 21:48:17 Swap: 2064376k total, 4832k used, 2059544k free, 398980k cached
[root@cent63 ~]#
いろいろと応用が利くかも…。またしても小ネタですみません。