【Linux】CPUとメモリの負荷と使用率をタイムスタンプ付きでログに残す

やりたいこと

システムの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

上記出力は指定したファイルにも出力される。

コメントを残す

メールアドレスが公開されることはありません。