我的应用程序正在交换到磁盘,因为它使用了 2.2 GB 的内存。我无法弄清楚我的应用程序中是什么导致它如此占用内存。
这是一个 RHEL5 虚拟机,具有 2 GB 的 RAM。
Rails 是 3.1.3 版。
我在 nginx v1.0.10 中的网络服务器,使用 Phusion Passenger 版本 3.0.11。
就其内存占用而言,“ruby”进程似乎完全摆脱了困境。
该应用程序是一个相对简单的产品目录。服务器在内存不足时大约每天崩溃两次。我也在使用 memcached v1.4.4。
当 Rails 缓存最终无法建立更多内存时,它会导致崩溃。
我不知道要采取什么步骤来确定为什么我的应用程序占用空间如此之大。
会不会是:
1) Some gems being loaded into memory?
2) A faulty or insufficient Passenger setup in my nginx.conf file?
3) Something else?
我非常感谢任何人可以提供的任何帮助!我必须在晚上每两个小时检查一次这个东西。不好玩!
更新:
乘客配置如下:
server {
listen 80;
client_max_body_size 4M;
server_name www.myapp.net myapp.net *.myapp.net;
root /usr/code/mcp5/public; # <--- be sure to point to 'public'!
passenger_enabled on;
passenger_min_instances 5;
rails_env production;
rails_framework_spawner_idle_time 0;
rails_app_spawner_idle_time 0;
}
我还在我的日志记录实用程序中注意到,这个东西正在快速旋转到 20 多个 ruby procs。