passageiro e uso de memória do apache

3

Em um servidor "CentOS versão 6.2 (Final)" (com o Ruby 1.9.3 e Rails 3.2), e usando mais memória do que o esperado.

Analisando as estatísticas de memória de passageiros, vejo alguns processos httpd ENORMES ... qualquer pensamento sobre como eu posso descobrir o que está acontecendo e reduzir o uso de memória?

Estatísticas estão incluídas aqui ... obrigado!

---------- 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

* UPDATE * : Eu sei que o maior culpado provavelmente é nosso aplicativo, em vez do Rails, mas estou tentando descobrir o que está acontecendo aqui em todos os casos ... então ... aqui está mais algumas perguntas específicas:

  1. o que está acontecendo com esses dois enormes processos de httpd? Eu esperava dois grandes processos de spawner do Passenger, mas por que o apache se parece com isso?

  2. dado que eu preciso fazer algum perfil de uso de memória do nosso aplicativo Rails, quais ferramentas estão disponíveis para ajudar com isso? Conheço muitas ferramentas de criação de perfil de performance, benchmarking, etc. - mas, o que está disponível para ajudar a dizer onde a memória está sendo usada?

por Brent Faulkner 06.10.2012 / 16:55

1 resposta

0

Esses processos estão todos executando seu aplicativo Rails. Eles são relativamente consistentes em tamanho, e eu suspeito que, se você incluísse os arquivos de configuração do Apache / Passenger (ou pelo menos parte deles), veríamos que a contagem está alinhada com o número de processos-filhos que você configurou. Eu olharia primeiro para o aplicativo Rails para ver por que ele está usando tanta RAM, e então volta para o Apache / Passenger.

    
por 07.10.2012 / 01:57