0

Linux のプロセスを監視するための簡単なシェル スクリプトを作成しました。

echo `date` ':' `top -d 3 -n 3 -b | grep swiftd | awk -F' ' '{print $9 }'` >> results.log

crontab で 5 分ごとに実行します。results.log に何か問題があることがわかるまで、すべて問題ありません。

Wed Aug 26 18:06:01 CST 2015 : 4.0 3.3 3.3 
Wed Aug 26 18:07:01 CST 2015 : 4.0 3.3 3.7 
Wed Aug 26 18:08:01 CST 2015 : 5.9 3.7 3.3 
Wed Aug 26 18:09:01 CST 2015 : 97.1 3.7 3.0 
Wed Aug 26 18:10:01 CST 2015 : 4.0 3.3 3.7
Wed Aug 26 18:11:01 CST 2015 : 4.0 3.3 3.3
Wed Aug 26 18:12:01 CST 2015 : 2.0 3.7 3.0 

4 行目で CPU 使用率が 97.1% になり、次の繰り返しで 3.7% になりました。短期間で使用量がピークに達したようです。

私の混乱は、

  1. プロセスが突然 100% の CPU 使用率になった他の理由はありますか?
  2. 「top」はプロセスの CPU 使用率を監視するのに適したコマンドですか?
  3. プロセスのより良い平均 CPU 使用率を取得する方法
4

1 に答える 1

0

topシェルスクリプトでは適切なコマンドではありません。ps特定のプロセスのCPU使用率を監視するコマンドをお勧めします。これは例です。

echo `date` ':' `ps auxww | grep swiftd | awk '{print $3}'` >> results.log
于 2015-08-27T06:01:37.483 に答える