Rails 3.1,缺少局部部分变量的内存泄漏(Ruby 1.9.2-p290)

时间:2011-09-28 11:13:17

标签: memory-leaks ruby-on-rails-3.1 ruby-1.9.2

如果我像这样渲染部分:

= render:partial => “event_news_item”,:object => event,:variable =>真

然后在部分内容中引用变量触发内存泄漏。似乎rails进入递归。在内存使用失控之前,我必须快速重启我的服务器。

任何人都知道为什么会在这里触发内存泄漏?任何人都可以在他们的机器上确认这一点吗?

如果我这样做

= render:partial => “event_news_item”,:object =>事件

尝试在部分中引用变量时,会错误地引发错误。

(顺便说一下这样做的正确方法是

= render:partial => “event_news_item”,:object => event,:locals => {:variable =>是的})

1 个答案:

答案 0 :(得分:0)

我在类似的环境中看到了非常糟糕的内存泄漏。我已经将它跟踪到无辜的关联获取(comment.author,确切地说),然后尝试调试它一段时间,最后放弃并运行1.9.3-rc1。

令人惊讶的是,这修复了这种特殊的内存泄漏,而且,将独角兽的启动大小减少了15M(从85M减少到70M; i386)。

相关问题