我们有delayed_job来处理我们应用中的后台处理。上帝不时地监视消耗更多记忆的DJ工作者并将其切断。
这种设置已经完美地工作了几个月,每天进行部署。现在,突然所有的工作人员一旦开始消耗400多MB内存。最近几天没有部署。
可能出了什么问题?请帮忙。该应用程序使用Rails 3.0.5在Ruby 1.9.2上运行。
答案 0 :(得分:2)
当前版本的ruby 1.9.2附带了一个泄漏内存的psych(新的YAML解析器)版本。如果YAML::ENGINE.yamler
为'psych'且Psych::VERSION
为1.0.0,那么您使用的是受影响的版本。
有几种方法可以解决。你可以(没有特别的顺序)
YAML::ENGINE.yamler
重置为'syck'(因为延迟的作业有一些YAML后端特定代码,您需要它来加载正确的代码。答案 1 :(得分:1)
使用Prawn在PDF中呈现的透明PNG导致了巨大的内存消耗。工人正在进行PDF生成。