質問: 負荷の高いプロセスを、自動で定間隔でチェックする方法を教えてください。 夜間や土日祝日の、どの時間帯に負荷がかかっているかを調査したいと思っています。 シェルを作ってスケジューラで定間隔で起動させる・・・のような、なんとなくのイメージはあるのですが、 Linuxは初心者のため、妥当な方法がわかりません。 なるべくサーバに負荷のかからない良い方法があれば教えてください。 環境は、Red Hat Enterprise Linux 6.3 です。
回答: `cron`を利用するなら`/etc/crontab`に`32 * * * * root /bin/ps -A -O pcpu --sort -pcpu | head >/path/to/log/dir/pslog-$(date +%Y%m%d%H%M%S)`という感じで登録するのはどうでしょうか? 全てのプロセスをcpu使用率の降順でソートして上から10個をログに残します。 ログに残す情報を変更したい場合は`man ps`をして`OUTPUT MODIFIERS`セクションを参照してください。