Назад | Перейти на главную страницу

использование памяти пассажира и apache

На сервере CentOS версии 6.2 (Final) (с Ruby 1.9.3 и Rails 3.2) и с использованием большего объема памяти, чем ожидалось.

Глядя на статистику-память-пассажира, я вижу пару ОГРОМНЫХ процессов httpd ... какие-либо мысли о том, как я могу выяснить, что происходит, и уменьшить использование памяти?

Здесь есть статистика ... спасибо!

---------- Apache processes -----------
PID    PPID  VMSize     Private   Name
---------------------------------------
1371   1     202.1 MB   0.1 MB    /usr/sbin/httpd
4573   1371  210.2 MB   5.0 MB    /usr/sbin/httpd
4778   1371  202.5 MB   0.6 MB    /usr/sbin/httpd
4780   1371  217.6 MB   9.4 MB    /usr/sbin/httpd
4781   1371  217.1 MB   9.1 MB    /usr/sbin/httpd
4856   1371  202.4 MB   0.5 MB    /usr/sbin/httpd
4863   1371  204.1 MB   2.1 MB    /usr/sbin/httpd
5027   1371  202.4 MB   0.5 MB    /usr/sbin/httpd
5043   1371  202.4 MB   0.4 MB    /usr/sbin/httpd
5044   1371  205.5 MB   2.7 MB    /usr/sbin/httpd
5072   1371  202.4 MB   0.5 MB    /usr/sbin/httpd
5084   1371  202.4 MB   0.5 MB    /usr/sbin/httpd
32111  1371  1297.0 MB  246.5 MB  /usr/sbin/httpd
32579  1371  1914.3 MB  215.5 MB  /usr/sbin/httpd
### Processes: 14
### Total private dirty RSS: 493.42 MB


-------- Nginx processes --------

### Processes: 0
### Total private dirty RSS: 0.00 MB


----- Passenger processes -----
PID    VMSize    Private  Name
-------------------------------
4180   280.5 MB  24.4 MB  Passenger ApplicationSpawner: /var/www/apps/people/current
4345   309.5 MB  53.4 MB  Rack: /var/www/apps/people/current
4800   300.2 MB  55.2 MB  Rack: /var/www/apps/people/current
4808   297.8 MB  52.5 MB  Rack: /var/www/apps/people/current
4815   297.4 MB  52.4 MB  Rack: /var/www/apps/people/current
4822   302.7 MB  55.6 MB  Rack: /var/www/apps/people/current
22780  209.0 MB  0.0 MB   PassengerWatchdog
22783  991.5 MB  1.3 MB   PassengerHelperAgent
22785  113.4 MB  1.1 MB   Passenger spawn server
22788  144.6 MB  0.0 MB   PassengerLoggingAgent
22911  310.4 MB  64.0 MB  Rack: /var/www/apps/people/current
22939  311.6 MB  53.5 MB  Rack: /var/www/apps/people/current
26175  304.1 MB  55.8 MB  Rack: /var/www/apps/people/current
26182  310.4 MB  44.0 MB  Rack: /var/www/apps/people/current
### Processes: 14
### Total private dirty RSS: 513.24 MB

* ОБНОВИТЬ * : Я понимаю, что более серьезным виновником, вероятно, является наше приложение, а не Rails, но я пытаюсь выяснить, что здесь происходит во всех случаях ... так ... вот еще несколько конкретных вопросов:

  1. что происходит с этими двумя огромными процессами httpd? Я ожидал, что от Passenger будет два больших процесса создания, но почему apache выглядит так?

  2. Учитывая, что мне нужно выполнить профилирование использования памяти нашим приложением Rails, какие инструменты могут с этим помочь? Я знаю множество инструментов для профилирования производительности, тестирования производительности и т. Д., Но что можно сделать, чтобы определить, где используется память?

Все эти процессы запускают ваше приложение Rails. Все они относительно одинаковы по размеру, и я подозреваю, что если вы включите свои файлы конфигурации Apache / Passenger (или, по крайней мере, их части), мы увидим, что счетчик совпадает с количеством настроенных вами дочерних процессов. Я бы сначала посмотрел на приложение Rails, чтобы понять, почему оно использует так много оперативной памяти, и затем вернуться в Apache / Passenger.