その時点で「どのプロセスが高負荷をかけたのか?」を知る方法はありますか?
尚、 CPU使用率は top コマンドの load average を指します。
高負荷状態の時に top コマンドが叩ければ良いのですが、今回は過ぎ去った時間帯での話です。
sysstatに含まれるpidstatはどうでしょう。
http://sebastien.godard.pagesperso-orange.fr/
一過性の対応であれば
nohup pidstat 10 > hoge.log &
みたいな感じで10秒ごとに監視させるようにし、
問題の負荷上昇が起きたらその時間のログを洗えば割り出せると思います。
pidstat以外にもsysstatデーモンの監視系は洗い出しに使えるものがあるかもしれませんので、
試してみてはいかがでしょうか。
たいていのディストリでパッケージとして登録されている筈です。
監視の仕組みを何も入れてなければ知ることはできないですね。
昔似たような経験をしたのですが、その際はHP社の監視製品がデータセンター側でインストールされていて、topの出力に似たプロセス実行状態の情報が定期的に取得されていたので、過去に振り返って「どのプロセスが高負荷をかけたのか?」を知ることができました。ダメ元ですが、監視の仕組みを確認してみるのがお勧めです。
sysstatに含まれるpidstatはどうでしょう。
http://sebastien.godard.pagesperso-orange.fr/
一過性の対応であれば
nohup pidstat 10 > hoge.log &
みたいな感じで10秒ごとに監視させるようにし、
問題の負荷上昇が起きたらその時間のログを洗えば割り出せると思います。
pidstat以外にもsysstatデーモンの監視系は洗い出しに使えるものがあるかもしれませんので、
試してみてはいかがでしょうか。
たいていのディストリでパッケージとして登録されている筈です。
質問の意図を含み取れてなかったかもしれません。つまり、監視の仕組みを入れてないのであれば、過ぎ去った(もう無くなったプロセス)情報は引き出せません。
ちなみに当方の経験では仮想マシンサービスのホスト側の定期バックアップでiowaitが上がり、従ってidleが下がるということがありました。cronやデーモンに心当たりがなければ、その線(iowait上がり)も頭の片隅に置いてみてください。
質問の意図を含み取れてなかったかもしれません。つまり、監視の仕組みを入れてないのであれば、過ぎ去った(もう無くなったプロセス)情報は引き出せません。
2013/05/03 00:40:50ちなみに当方の経験では仮想マシンサービスのホスト側の定期バックアップでiowaitが上がり、従ってidleが下がるということがありました。cronやデーモンに心当たりがなければ、その線(iowait上がり)も頭の片隅に置いてみてください。