2010-10-20 36 views
6

我们遇到了很大的问题与delayed_job的插件 - http://github.com/collectiveidea/delayed_job/轨delayed_job的内存消耗问题

当我们开始与任务“Ruby脚本/ delayed_job的启动”,该过程不会放手它获取RAM。

因此,它开始于10%,25%,达到80%,并且永不放弃ram,即使它没有任何工作要处理。

任何想法,我们可以克服这一点?

谢谢!

(PS:RAILS_ENV =生产脚本/ delayed_job的开始并没有为我们工作启动delayed_job的工人)根据来自IRC(从@ReinH)建议

+0

为什么不'RAILS_ENV =生产脚本/ delayed_job的start'为你工作?否则,你正在开发中运行它。在这种情况下,这个问题发生在什么时间段? – wuputah 2010-10-20 16:12:20

+0

我发现摇动'GC.start'魔棒有时会刺激垃圾收集器进入真正的工作状态。 – tadman 2010-10-20 16:35:01

+0

您的应用程序中某处可能存在内存泄漏。关于在rails指南中调试该问题有几点提示(http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-memory-leaks) – 2010-10-20 18:26:03

回答

2

,林心如永远不会释放内存回OS 。

因此,我现在唯一知道的解决方案是现在手动重新启动delayed_job插件。

@ReinH还指出delayed_job_spawner插件,这似乎是另一种可能的解决办法 - http://github.com/woahdae/delayed_job_spawner

+0

哇,我从来不知道这一点,但现在运行它似乎是一个问题,他们需要解决这里是这个问题的链接:https://github.com/collectiveidea/delayed_job/issues/336 – Jonathan 2012-05-25 19:52:04

+0

供参考:使用rails 3延迟工作似乎对我们来说工作正常 - 要么没有这个问题,要么我们在设置中做了一些不同的事情。 – stringo0 2012-06-18 16:18:29