【问题标题】:Rails App Memory Leak: Nginx + UnicornRails 应用程序内存泄漏:Nginx + Unicorn
【发布时间】:2014-05-09 11:51:50
【问题描述】:

在使用 Jmeter 测试我的应用时,我发现内存消耗越来越高。运行 htop 后,我发现有两个主进程并且每个工作进程都有很多子进程,这很奇怪。

我的问题是:这是正常的还是这可能是内存泄漏(或膨胀)的原因?

【问题讨论】:

  • 没有两个master,是htop feature/bug :)
  • 你们为什么有这么多工人?我看到 29、30、31 ......你不应该有超过 CPU 数量的工人,唯一的影响是使用的内存增加。尝试 8 个工作人员(我看到你有 8 个 CPU)
  • 这个问题似乎属于 Stack Exchange 网络中的另一个站点,因为它与编程无关。也许Super UserServer Fault

标签: ruby-on-rails ruby memory-leaks nginx unicorn


【解决方案1】:

没有两个大师,是htop feature/bug :)

关于内存消耗:为什么有这么多工人?我看到 29、30、31 ......你不应该有超过 CPU 数量的工人,唯一的影响是使用的内存增加。尝试 8 个工作人员(我看到你有 8 个 CPU)

【讨论】:

  • 感谢您的回复。不幸的是,你的回答让我感到高兴和悲伤。我希望这可能是内存泄漏的原因:( Ps.:32 名工人在我们的测试中产生了最高的响应率。文档说工人的数量应该至少是 CPU 的数量。因为我有 7 GB并且考虑到每个工作人员(最初)消耗大约 120 MB,只要内存稳定释放,这应该不是问题。
  • 您使用的是哪个版本的 Ruby?
  • 实际上,如果您的 Web 应用程序主要是 I/O,则更多的分叉可以提供帮助,因为 CPU 没有过载......你是对的。因为this所以问了你的Ruby版本,建议你看一下
  • 我刚刚看了这篇文章。我使用的是 2.1.1,所以这是最令人不安的。
  • 如果您怀疑受到该错误的影响,您可以尝试调整RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR 环境变量,如帖子中所述(我没有受到影响,所以我无法确认它是否有效或不是)
猜你喜欢
  • 1970-01-01
  • 2016-03-28
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
相关资源
最近更新 更多