やりたいこと
システムのCPUやメモリの使用率や負荷状況を監視して、ログに残したい。
バッチ実行やアクセス過多と紐付けるため、ログにはタイムスタンプを付加しておきたい。
手順
vmstatコマンドとteeコマンドを組み合わせる。
コマンド
vmstat -t 1 | tee {ログファイル名}
vmstat
プロセス数、メモリ使用状況、IO、CPU使用率を出力するコマンド。
-t を指定すると、現在時刻を表示に追加できる。
数字を指定すると各情報の更新間隔を指定できる。
例の場合は1秒間で更新される。
tee
teeは、パイプで入力を渡すと、画面と指定したファイルに出力を行う。
-a のオプションを付けると、追記で書き込みを行える。
出力例
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp--- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 12345678 987654 121212 0 0 0 0 10 2 0 0 100 0 0 2020-01-08 07:00:00 UTC 0 0 0 12345678 987654 121212 0 0 0 0 10 2 0 0 100 0 0 2020-01-08 07:00:01 UTC 0 0 0 12345678 987654 121212 0 0 0 0 10 2 0 0 100 0 0 2020-01-08 07:00:02 UTC
上記出力は指定したファイルにも出力される。