web-dev-qa-db-ja.com

より少ないCPUを使用するようにcronジョブを設定するにはどうすればよいですか?

私はサーバーウィッチホストをいくつか管理していますRuby on Rails Webサイト。実行するすべてのWebサイトにcronジョブが必要です。

  • メールを送る(通知)
  • サムネイルを作成する

残念ながら、cronが実行されるたびに、CPU使用率が100%使用されるため、すべてのWebサイトの速度が低下します。

Crontab -eでNiceコマンドを使用しようとしました:

cd/home/www/manager && Nice -n 19/usr/local/bin/rake website_cron Rails_ENV = production

しかし、しばらくすると、レーキと同じニースレベルのラックプロセスとパッセンジャープロセスが得られるので、まったく役に立ちません...

使用率の低いhtop出力は次のとおりです http://img688.imageshack.us/img688/3637/capturedu20120807143520.png

Cronジョブが実行されたときのhtopは次のとおりです http://img507.imageshack.us/img507/1736/capturedu20120807144808.png

ありがとう

---編集---

すべてのウェブサイトプロセスを再構築しているコードでエラーが発生しましたNiceコマンドが機能しています

2
boby lapointe

プロセスは優先度を下げるためにNiceされており、htopはそれを反映しています。競合がなければ、CPUの99%を喜んで使用します。ボトルネックがI/OではなくCPUにあることを確認できますか?たぶん、Webサイトプロセスの優先度をデフォルトより高いに上げる必要がありますか?

また、ホストにはいくつのコアがありますか? 1.6での全体的な負荷平均は デュアルコアシステムの容量を下回る です。シングルコアシステムの場合は、ハードウェアのアップグレードを検討する必要があります。

2
Aaron Copley