有没有办法限制 Phusion Passenger 在提供应用程序时使用的内存量?
在我获得大量流量后,我的主机过来并终止了该进程,因此我最终提供了空白页面。有什么我可以说的“嘿,不要使用超过 100Mb 的空间,而且无论网站有多过载,都只会产生 3 个进程”
有没有办法限制 Phusion Passenger 在提供应用程序时使用的内存量?
在我获得大量流量后,我的主机过来并终止了该进程,因此我最终提供了空白页面。有什么我可以说的“嘿,不要使用超过 100Mb 的空间,而且无论网站有多过载,都只会产生 3 个进程”
没有办法明确限制内存使用(比如使用 <= 100MiB)。
但是你可以做的是通过设置PassengerMaxPoolSize来限制进程的数量。设置它,然后查看内存使用情况(这取决于您正在运行的应用程序)。
此外,使用Ruby Enterprise Edition可能会有所帮助。
还可以查看 3.0.11 中的新乘客 max_requests
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerMaxRequests
看来它可能已“在客运企业中实施” https://code.google.com/p/phusion-passenger/issues/detail?id=201
为了补充 Mihai A 在 2009 年所写的内容,REE 已在 2012 年达到使用寿命。主要原因之一是它没有提供比 Ruby 2.0 显着的性能改进。
正如其他人指出的那样,企业版乘客具有此功能。
对于免费版本,请查看此博客文章:http ://dev.mensfeld.pl/2012/08/simple-rubyrails-passenger-memory-consumption-limit-monitoring/
尝试在 Solaris Zone 中运行它;)