我的 Rails 堆栈应消耗多少内存?

我的 Rails 堆栈应消耗多少内存?

我在 Slicehost 的 384MB VPS 上运行自己的 Web 服务器,在不同的虚拟主机上为两个 Ruby on Rails 应用程序提供服务。我使用 Apache2 运行 Phusion Passenger。以下是我的 Passenger.conf 的内容

<IfModule passenger_module>

PassengerRoot /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerLogLevel 0
PassengerRuby /usr/local/bin/ruby
PassengerUserSwitching on
PassengerDefaultUser nobody
PassengerMaxPoolSize 3
PassengerMaxInstancesPerApp 2 
PassengerPoolIdleTime 300

# Ruby on Rails Options

RailsAutoDetect on
RailsSpawnMethod smart

NameVirtualHost *:80
</IfModule>

如果我在服务器上执行“top”,平均使用 314MB,这似乎太多了?我错了吗?如果没有,我可以采取哪些可能的措施来减少内存使用量?

谢谢!

答案1

这完全取决于您要托管的应用程序。应用程序拥有的模型/控制器越多,应用程序就越大。要更好地了解 rails 应用程序本身的使用量,请尝试发出命令。

passenger-memory-stats

我目前的中型应用程序正在使用:

### Total private dirty RSS: 68.93 MB

根据乘客的说法。如果你在同一个乘客实例上运行了一堆网站,它看起来可能更像这样:

### Total private dirty RSS: 1489.46 MB

还请考虑,如果您运行库存的 mysql 服务器,则设置并未真正针对 VPS(因此内存较低)的使用进行优化。

相关内容