2017-08-31 80 views
1

我工作的一个Ruby on Rails应用程序具有内存泄漏,所以最终它时,有没有更多的内存崩溃。然而,在最后阶段,它基本上只运行GC并处理很少的请求,所以基本上就是DoS-ing本身。对于我的应用,此DoS时间介于1小时和6小时之间!配置MRI Ruby的GC快速失败

我试图找到内存泄漏,但至今没有运气,所以现在我想找到生产服务器的解决方法。

是否有配置MRI的Ruby GC这样,当它达到内存限制,然后它只是崩溃的方法吗?我的意思是当Ruby尝试分配更多内存并且操作系统拒绝它时第一次崩溃。

回答

0

据我所知,你不能这样做。 (?OOM也许):

但是你有另一个选择

  1. 设置的东西在你的系统,这将阻止红宝石使用太多内存
  2. 设置你的Web服务器上杀死自己 - 就像在this gem