Unicorn主内存增加

时间:2018-04-03 15:25:36

标签: ruby-on-rails ruby linux memory-management unicorn

我有一个与独角兽一起运行的红宝石服务,它产生了20个童工。当我开始服务时,独角兽大师以大约520 MB的内存开始,然后主要产生20个童工。我的服务运行完美7-8天,但渐渐独角兽的主内存不断增加并上升到1.3 GB,这显然导致OOM错误,当独角兽主人试图分叉一个新的孩子(现在需要1.3 GB的内存来分叉)新的孩子)由于内存占用增加,内存不可用。

所以我关注的是,

  • 根据我的理解,Unicorn master并没有提供任何请求,它是 唯一的目的是产生失踪的孩子然后为什么主过程记忆增加?
  • 我的unicorn-worker-killer配置了我的应用程序绝对正常工作 精细。如果我的Ruby应用程序中有任何内存泄漏,那么unicorn-worker-killer应该已经在处理它了。这个假设是错的吗?由于我的Ruby应用程序,主进程中是否会出现内存泄漏?
  • 杀死童工后,独角兽正在创建新的子工作进程,其内存大致与主进程相同。是不是所有的Unicorn大师将会创造的童工都会以与Unicorn主过程相同的记忆开始?

以下是我的服务和机器配置。

Ruby :2.1.2

Unicorn :4.6.3

独角兽工人数:20

操作系统:Debian GNU / Linux 8,Jessie

内存:24 GB

0 个答案:

没有答案