Noté que Apache está ejecutando múltiples procesos en mi servidor LAMP (ubuntu 10.10). Solo estoy ejecutando un sitio de Wordpress con MySQL como base de datos. Parece que www-data ejecuta apache2 más de lo que debería (usando demasiada memoria también), estoy en lo cierto:
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
fuente
fuente
Respuestas:
Apache está ejecutando múltiples procesos para tenerlos listos cuando llega una solicitud del cliente. Generar un proceso de servidor es lento, por lo que es mejor tener uno esperando a un cliente.
Para el uso de memoria, debe tener en cuenta el tamaño RES de la cuenta (como se muestra en la parte superior), que es la cantidad de memoria física utilizada por la tarea.
¿Por qué crees que tienes demasiados procesos apache2 usando demasiada memoria? ¿Qué esperas? ¿Por qué esperas eso?
fuente
Como explica la respuesta de Pawel, apache usa un proceso por modelo de solicitud con un grupo de procesos (o subproceso por solicitud con mpm_worker).
Es posible que pueda reducir el uso de memoria utilizando un servidor web basado en E / S sin bloqueo, como nginx. De esta forma, el servidor no necesita dedicar un proceso / subproceso por conexión.
fuente
Apache ejecutará tantos procesos como usted lo configure. La configuración difiere si está utilizando los módulos de preprocesamiento o multiprocesamiento de trabajo .
fuente