vmstatの結果にタイムスタンプを表示する場合は、-tオプションを利用するか、awkと組み合わせて表示する方法があります。
vmstatに時刻を表示する(-t)
時刻(UTC)を表示する場合、-tオプションを利用します。
実行コマンド(-tオプション)
vmstat -t 3実行結果例(-tオプション)
末尾にタイムスタンプが表示されます。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 UTC 0  0      0 494808  27952 268212    0    0     1     3    0    1  0  0 100  0  0 2024-09-18 12:28:20 0  0      0 494484  27952 268212    0    0     0     0   25   35  0  0 100  0  0 2024-09-18 12:28:23 0  0      0 494484  27952 268212    0    0     0     3   36   59  0  0 100  0  0 2024-09-18 12:28:26vmstatに時刻を表示する(awk,date)
vmstatコマンドがのバージョンが古くて-tオプションが使えない場合があります。
その場合はawkコマンドと組み合わせてタイムスタンプを表示します。
実行コマンド(awkと組み合わせる)
vmstat 3 | awk '{print strftime("%y/%m/%d %H:%M:%S"), $0}'実行コマンド(dateと組み合わせる)
ディストリビューションによっては上記コマンドでうまく表示できないことがあります。
その場合は、dateコマンドと組み合わせた以下コマンドをお試しください。
vmstat 3 | while read line; do echo "$(date '+%y/%m/%d %H:%M:%S') $line"; done実行結果例(awk,date)
先頭にタイムスタンプが表示されます。
24/09/18 21:32:45 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----24/09/18 21:32:45  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st24/09/18 21:32:45  1  0      0 2147980  13184 347068    0    0   361    17   69  121  2  2 96  1  024/09/18 21:32:48  1  0      0 2147980  13184 347068    0    0     0     0   58  180  0  0 100  0  024/09/18 21:32:51  0  0      0 2147728  13184 347068    0    0     0     0   61  191  0  0 99  0  0確認したバージョン
以下バージョンのvmstatで確認しました。
$ vmstat -Vvmstat from procps-ng 3.3.17Linuxユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!