はじめて awk をつかった。
3 秒間隔でメモリの使用状況をログに吐くコマンドを作った。
top -b -d 5 -n 12 | awk -v 'OFS=\t' '($8 ~ /[A-Z]/){if($10>1.0) print strftime("%Y/%m/%d %H:%M:%S"),$8,$10,$12}'
awk は慣れれば直感的でとても便利!
このコマンドを 1 分単位で cron 実行すれば監視ができそう。
ただ、1 分間のログをまとめて awk で処理してログに出力する形になるので、個人的にいまいち。
top じゃなくて、他のコマンドでも良かったかも。。