我有一个 Rails 3.2.8 应用程序在 Heroku Cedar 上使用 Ruby 1.9.3 运行。该应用程序在启动时运行良好,但在连续使用一天左右后,我开始在我的日志中看到 R14 错误。一旦内存错误开始,它们就永远不会消失,即使应用程序空闲了几个小时。
垃圾收集器不应该在一段时间后清理未使用的对象并减少内存负载吗?Heroku 上似乎没有发生这种情况。通常,尽管结果是分页的,但在运行一些包含数千行数据的报告后,内存使用量开始攀升。
如何找到内存泄漏?像 bleak_house 这样的插件已经过时或者不能在 Heroku 环境中很好地运行。我可以调整 GC 设置以使其更具侵略性吗?