我如何设置一个cronjob使用较less的CPU

我正在pipe理一个服务器女巫主机在轨道网站上的几个ruby。 我需要为每个网站做cron工作:

  • 发送电子邮件(通知)
  • 创build缩略图

不幸的是,每次执行cron时,都占用了100%的CPU使用量,所以会减慢所有的网站。

我试图在我的crontab -e中使用nice命令:

cd / home / www / manager && nice -n 19 / usr / local / bin / rake websites_cron RAILS_ENV =生产

但经过一段时间,我得到机架的过程和乘客过程与耙一样好的水平,所以它根本没有帮助…

这里是低使用率的htop输出http://img688.imageshack.us/img688/3637/capturedu20120807143520.png

当cron作业执行时,这里是htop http://img507.imageshack.us/img507/1736/capturedu20120807144808.png

谢谢

—编辑—

我在我的代码中有一个错误,正在重build所有的网站过程nice命令正在工作

这个过程已经nice ,降低了它的优先级, htop反映了这一点。 如果没有争用,它仍然乐意使用99%的CPU。 你能确认瓶颈在CPU中,而不是I / O? 也许你需要增加网站进程的优先级高于默认值?

另外,你的主机有多less核心? 双核系统的整体平均负载为1.6, 低于容量 。 如果是单核系统,则应该考虑进行硬件升级。