【问题标题】:Ruby production server memory leakRuby 生产服务器内存泄漏
【发布时间】:2016-01-09 15:52:06
【问题描述】:

我有一个生产 Rails 应用服务器,它的 Rails 工作进程的内存使用量在 3-4 天内从 ~300 MB 增加到 ~1.2GB。

如何调试此内存泄漏。 我正在使用 rvm 2.2.2 并且我的应用程序服务器部署在 AWS:ElasticBeanstalk 中。我正在使用 puma 网络服务器。

请提供详细答案。

【问题讨论】:

  • 您使用的是哪个应用服务器?
  • 我正在使用 puma 服务器。
  • 您是否使用 aws-sdk gem 写入 S3?
  • 是的,AWS 库中是否存在内存泄漏。 ...... gem 'aws-sdk', '~> 2' .......

标签: ruby-on-rails ruby amazon-web-services memory-leaks amazon-elastic-beanstalk


【解决方案1】:

我最近在使用 ruby​​ 2.2.2 时遇到了类似的问题。我正在使用 aws-sdk gem 写信给 AWS S3。我在this issue on aws-sdk GitHub找到了解决方案。

ruby 2.2.0 到 2.2.2 附带的 StringIO 类中存在内存泄漏。 aws-sdk 在向 S3 发送文件时使用此类。这个错误是 2.2.3 上的reported and fixed

希望升级到 ruby​​ 2.2.3 可以解决您的问题。

【讨论】:

  • 嗨 haradwaith,尝试了您提供的 github 链接中提到的这个解决方案。似乎它正在工作,必须监视一天才能确定。
  • 您好,这解决了问题。虽然这个答案没有详细说明 ruby​​ 中的内存泄漏调试,但我接受这个答案,因为我面临的问题已经解决。
猜你喜欢
  • 2012-03-27
  • 1970-01-01
  • 2016-07-15
  • 2011-07-21
  • 2019-09-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 2015-02-12
相关资源
最近更新 更多