在Heroku的Cedar堆栈上未定义GC.stat

时间:2012-09-20 20:51:28

标签: ruby-on-rails ruby heroku garbage-collection

目前在我的游乐场应用程序上进行了演示,访问它结果为500 现在已经部署了答案中给出的修复

错误

Processing by GcController#show as HTML
Completed 500 Internal Server Error in 0ms
NoMethodError (undefined method `stat' for GC:Module):
app/controllers/gc_controller.rb:4:in `show'

相反,如果你grab the Rails app from Github

然后RAILS_ENV=production rails server并转到/

你会得到:

{:count=>131, :heap_used=>193, :heap_length=>345, :heap_increment=>152, :heap_live_num=>127915, :heap_free_num=>29930, :heap_final_num=>0}

假设Heroku使用修补的GC

是否安全?

还有其他人遇到过这个吗?似乎没有关于它的任何文档。

我在本地看到了一些与Heroku相比存在冲突的内存使用行为,这就是为什么我要尝试GC.stat。我想知道差异是否可以通过修补GC来解释。


我也为此开了一个Heroku issue

1 个答案:

答案 0 :(得分:1)

慷慨地回答stolen from JD at Heroku

  

Cedar默认使用1.9.2-p290。我不确定GC.stat是否在1.9.2中   随便,但它似乎不是在Heroku肯定。我们不打补丁   我们运行的Ruby版本。

     

我可以确认,如果您在Gemfile中指定ruby '1.9.3'GC.stat将正常工作。