Percebo 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 www-data está executando 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
apache-2.2
ubuntu
performance
memory
Trent Scott
fonte
fonte
Respostas:
O Apache está executando vários processos para prepará-los quando uma solicitação do cliente é recebida. A geração de um processo do servidor é lenta; portanto, é melhor ter um esperando pelo cliente.
Para uso da memória, leve em consideração o tamanho RES da conta (conforme exibido na parte superior), que é a quantidade de memória física usada pela tarefa.
Por que você acha que possui muitos processos apache2 usando muita memória? O que você espera? Por que você espera isso?
fonte
Como a resposta de Pawel explica, o apache usa um modelo de processo por solicitação com um pool de processos (ou encadeamento por solicitação com mpm_worker).
Você pode reduzir o uso de memória usando um servidor da Web baseado em E / S sem bloqueio, como o nginx. Dessa forma, o servidor não precisa dedicar um processo / thread por conexão.
fonte
O Apache executará tantos processos quanto você o configurar. A configuração será diferente se você estiver usando os módulos de multiprocessamento prefork ou worker .
fonte