Mi pequeña instancia ec2 con 1.7 GB de memoria, que ejecuta Amazon AMI basada en CentOS, tiene un problema con Apache que utiliza demasiada memoria de la que debería. Si echa un vistazo a la captura de pantalla, el uso de la memoria estará en 90-100% hasta que reinicie el servicio httpd, donde comenzará de nuevo, aumentando su regreso a más del 90%.
Realmente agradecería alguna ayuda sobre cómo localizar el problema. ¿Es acaso este comportamiento apache "normal", utilizar toda la memoria disponible? ¿O hay una posible fuga que tengo que cazar? En este momento estoy un poco perplejo sobre lo que podría estar pasando.
Estamos utilizando el prefork de Apache MPM, y no SQL ni nada similar, solo apache. El sitio web está aquí .
apache-2.2
memory
httpd
lamp
memory-usage
Amivit
fuente
fuente
RequestHeader set X-Request-Start "%t"
si aún no lo has hecho. Aparecerá como "Solicitud de cola" cuando vaya a Servidor de aplicaciones> Descripción general, podría ayudarlo a llegar al fondo del problema.Respuestas:
Como dijo HTTP500, probablemente no debería preocuparse por ello a menos que la máquina se esté ahogando. ¡Mira la Ayuda! ¡Linux se comió mi RAM! . No es una situación análoga, ya que tiene procesos en lugar de buffers que usan la RAM, pero no está muy lejos: la RAM física de su máquina es un recurso para ser utilizado, ya sea con buffers de kernel o procesos de trabajo de Apache de repuesto para manejar rápidamente la entrada peticiones. Si no está utilizando RAM, ha pagado de más por el tamaño de su caja.
De todos modos, si quieres jugar con la configuración de MPM, la documentación de Apache es http://httpd.apache.org/docs/current/mod/prefork.html
Tal vez pueda reducir MinSpareServers, StartServers, etc., ya que ha declarado que el sitio tiene poco tráfico. Entonces tendrá más RAM libre para ser consumida por los buffers del núcleo para sus nefastos propósitos.
fuente
Linux usando toda su memoria es normal, la memoria que no está en uso de lo contrario se reutiliza como caché de disco. ver: Linux se comió mi carnero
Puede verificar esto mirando la salida de
free -m
y esperar ver algo como esto:la línea +/- buffers / cache es la que desea. Agrega RAM en caché de forma gratuita para darle una mejor idea de cuánta memoria está realmente disponible. En este caso, desea prestar atención al número 3416, no al 101.
fuente