Ruby on rails “乘客当铺法”;“聪明的”;不';不减少内存占用?

Ruby on rails “乘客当铺法”;“聪明的”;不';不减少内存占用?,ruby-on-rails,ruby-on-rails-3,passenger,phusion,Ruby On Rails,Ruby On Rails 3,Passenger,Phusion,我们的Rails 3.2应用程序(Ruby 2.1.5)位于乘客(4.0.59)的后面,使用默认的生成方法,乘客文档规定该方法是“智能的” 据称,智能产卵可以将每个进程的内存占用减少约33% 我很好奇我们从使用智能产卵中获得了多少好处,所以我修改了配置以指定“直接”产卵 然而,在切换到“直接”之后,我们进程的内存占用并没有像我预期的那样增加。这似乎表明我们实际上并没有从智能产卵中获得任何好处 有没有关于为什么会这样的理论 事实上,尽管在配置文件中指定了智能繁殖,但我们不是在使用它吗?“top”o

我们的Rails 3.2应用程序(Ruby 2.1.5)位于乘客(4.0.59)的后面,使用默认的生成方法,乘客文档规定该方法是“智能的”

据称,智能产卵可以将每个进程的内存占用减少约33%

我很好奇我们从使用智能产卵中获得了多少好处,所以我修改了配置以指定“直接”产卵

然而,在切换到“直接”之后,我们进程的内存占用并没有像我预期的那样增加。这似乎表明我们实际上并没有从智能产卵中获得任何好处

有没有关于为什么会这样的理论

事实上,尽管在配置文件中指定了智能繁殖,但我们不是在使用它吗?“top”outpu(特别是VIRT和RES列)不是度量每个进程内存使用情况的好方法吗


完全是另一回事吗?

您需要Ruby>=2.0.0才能利用内存节省,因为Ruby垃圾收集器从2.0.0开始只支持写时拷贝

您不应该使用“top”来度量内存,因为它不考虑共享内存

乘客文件中记录了这两个事实:


在问题中指出,我们使用的是Ruby 2.1.5,所以这不是问题所在。我将使用乘客状态重新测试以测量内存使用情况。