1

我正在开发一个 Ruby on Rails 应用程序,它存在内存泄漏,因此最终在没有更多内存时崩溃。但是,在最后阶段它基本上只运行 GC 并处理很少的请求,因此基本上是 DoS-ing 本身。我的应用程序的这个 DoS 时间在 1 小时到 6 小时之间!

我试图定位内存泄漏,但到目前为止没有运气,所以现在我想为生产服务器找到一个解决方法。

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

4

1 回答 1

0

据我所知,你不能这样做。

但是您还有其他选择:

  1. 在你的系统中设置一些东西,这将防止 ruby​​ 使用过多的内存(也许是 oom?)
  2. 设置您的网络服务器以杀死自己 - 就像在这个 gem中一样
于 2017-08-31T07:17:39.133 回答