vmstatでリソースの情報を日付入りでファイルに出力する
方法1
awkで先頭に日付を付与しファイル出力
Note | awkがバッファするためflush(system(""))しないとファイルに出力されない。 |
vmstat 1 | awk '{print strftime("%Y-%m-%d %T ") $0;system("");}' > vmstat.log
cat vmstat.log
2022-08-31 05:42:14 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
2022-08-31 05:42:14 r b swpd free buff cache si so bi bo in cs us sy id wa st
2022-08-31 05:42:14 0 0 0 2942748 427172 1859864 0 0 1 2 39 9 1 1 98 0 0
2022-08-31 05:42:15 0 0 0 2942896 427172 1859864 0 0 0 0 30 177 0 0 100 0 0
2022-08-31 05:42:16 0 0 0 2943000 427180 1859864 0 0 0 12 367 981 1 1 98 0 0
方法2
-tオプションでtimestampを表示
vmstat -t 1 > vmstat.log
cat vmstat.log
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
r b swpd free buff cache si so bi bo in cs us sy id wa st JST
0 0 0 2935720 436988 1860016 0 0 1 2 39 13 1 1 98 0 0 2022-08-31 07:27:35
0 0 0 2935684 436996 1860008 0 0 0 12 29 229 0 0 100 0 0 2022-08-31 07:27:36
0 0 0 2935788 436996 1860016 0 0 0 16 22 139 0 0 100 0 0 2022-08-31 07:27:37
0 0 0 2936528 436996 1860016 0 0 0 0 374 898 1 1 99 0 0 2022-08-31 07:27:38