【发布时间】:2013-04-17 09:59:55
【问题描述】:
我一直在努力找出导致我的应用程序使用的内存不断增长的原因,以至于在 heroku 上的生产中它失败并崩溃了。
经过一些相当广泛的研究,使用 Top 观察 RSIZE 在本地增长并使用 Oink 尝试确定问题所在。
然后我发现了一个帖子 here 在其中一个 cmets 中提到了导致同样问题的 New Relic gem。作为开发中的测试,我注释掉了 gem,现在没有它,我的内存使用量似乎相当稳定在 100M 左右,而安装 gem 后,它增长到可以将它推到近 1GB 的地步!显然,这种行为是应用在 Heroku 出现故障的根源。
New Relic 有没有其他人遇到过这种情况?我想继续使用它,我认为这是一项很棒的服务,但如果它是内存泄漏的根源,我就不能。关于如何修复它的任何建议?
我正在运行 Rails 3.2.0 和 Ruby 1.9.2
当我运行 Gem List 时,它显示我有 newrelic_rpm (3.6.0.83, 3.5.6.46, 3.5.5.38, 3.4.2.1, 3.4.2)
我的 Gemfile 只引用 gem 'newrelic_rpm' 所以我应该指定一个版本吗?
【问题讨论】:
-
开发模式 newrelic 与生产模式 new relic 完全不同——如果您想在本地复制,最好使用接近生产的设置
-
好点,我试试看。
-
newrelic_rpm gem 只用于开发你知道吗?
-
完全没有,但它确实有一个仅用于开发的 developer_mode
-
这就是我的想法,但是,我已经从我的生产 Gemfile 和 Gemfile.lock 文件中删除了它,New Relic 似乎仍在跟踪我的应用程序,并且事情看起来更稳定了。
标签: ruby-on-rails ruby-on-rails-3 newrelic