Por que o Apache está executando tantos processos? RAM excessiva aqui?

17

Noto que o Apache está executando vários processos no meu servidor LAMP (ubuntu 10.10). Estou apenas executando um site Wordpress com o MySQL como banco de dados. Parece que o www-data está rodando o apache2 mais do que deveria (usando muita memória também), estou correto:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618   www-data    232344 kB   /usr/sbin/apache2 -k start
32615   www-data    232204 kB   /usr/sbin/apache2 -k start
19805   root    208156 kB   /usr/sbin/apache2 -k start
    
por Trent Scott 14.05.2011 / 07:29

3 respostas

19

O Apache está executando vários processos para tê-los prontos quando uma solicitação do cliente é recebida. A geração de um processo do servidor é lenta, por isso é melhor ter um esperando por um cliente.

Para uso de memória, você deve levar para o tamanho RES da conta (conforme exibido por cima), que é a quantidade de memória física usada pela tarefa.

Por que você acha que tem muitos processos do apache2 usando muita memória? O que você espera? Por que você espera isso?

    
por 14.05.2011 / 07:34
3

Como a resposta de Pawel explica, o apache usa um modelo de processo por solicitação com um pool de processos (ou thread por solicitação com mpm_worker).

Você pode reduzir o uso de memória usando um servidor da Web com base em E / S não bloqueado. como o nginx. Dessa forma, o servidor não precisa dedicar um processo / thread por conexão.

    
por 14.05.2011 / 09:46
2

O Apache executará tantos processos quanto você configurá-lo. A configuração é diferente se você estiver usando o prefork ou trabalhador módulos de multiprocessamento.

    
por 16.05.2011 / 04:32