Muchos de los problemas comunes que se presentan son causados por el consumo excesivo de memoria y errores de configuración de red. Esta guía proporciona algunas sugerencias que le pueden ayudar a solucionar o aliviar estos problemas.
Cuando su servidor se queda sin memoria física, puede comenzar una sacudida en su espacio swap. Esto debido a que su servidor —en consecuencia de la falta de memoria física— intenta usar la partición swap en gran medida en lugar de la memoria RAM real. Recomendamos limitar el tamaño de la partición swap hasta 256 MB, debido a que el uso intensivo del espacio swap en un entorno virtualizado podría causar mayores problemas.
Puede usar el siguiente comando para mostrar el uso de memoria actual en su servidor:
free -m
Puede utilizar el siguiente fragmento de código para ver una lista de los procesos en ejecución ordenados descendentemente según el uso de memoria:
ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less
Para ver la actividad de Entrada/Salida (IO) en su servidor, puede usar el siguiente comando (si usa Debian o Ubuntu será necesario que instale el paquete el paquete sysstat
usando apt-get install sysstat
):
iostat -d -x 2 5
Esto le dará un reporte ampliado del uso de dispositivos cinco veces en intervalos de dos segundos. Si su servidor está quedándose sin memoria (o en estado "OOMing") los sospechosos más comunes serán Apache, MySQL y SpamAssassin.
Revise su archivo de configuración de MySQL (que se encuentra generalmente en /etc/mysql/my.cnf
) y ajuste su configuración para que coincida con los valores especificados en el extracto a continuación:
keybuffer = 16K
maxallowedpacket = 1M
threadstack = 64K
tablecache = 4
sortbuffer = 64K
netbufferlength = 2K
Si usted no utiliza tablas de InnoDB, entonces debe desactivar el soporte InnoDB añadiendo la siguiente línea:
skip-innodb
Advertencia:
La configuración presentada en esta sección está diseñada para ayudarle a probar y solucionar problemas de MySQL temporalmente. Recomendamos que no use esta configuración de forma permanente. Su configuración debe estar orientada al uso que le da a sus bases de datos y será distinta según el tipo de usuario y los servicios que ofrece.
Determine el tipo de módulo de multiprocesamiento (MPM) que está utilizando en su instalación de Apache ejecutando el siguiente comando. Esto le dirá cuál sección editar en su archivo de configuración de Apache:
Para sistemas Debian/Ubuntu:
apache2 -V | grep 'MPM'
Para sistemas Fedora/CentOS:
httpd -V | grep 'MPM'
En su archivo de configuración de Apache, —que se encuentra generalmente en la ubicación /etc/apache2/apache2.conf
en sistemas Debian y Ubuntu y en la ubicación /etc/httpd/httpd.conf
en RHEL/CentOS/Fedora— cambie las entradas de los ajustes mostrados abajo para que coincidan con los valores sugeridos:
KeepAlive Off
---
StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000
Advertencia:
La configuración presentada en esta sección está diseñada para ayudarle a probar y solucionar problemas de Apache temporalmente. Recomendamos que no use esta configuración de forma permanente. Su configuración debe estar orientada al uso que le da a su servidor web y será distinta según el tipo de usuario y los servicios que ofrezca.
Si usted está usando SpamAssassin para filtrar correos en modo autónomo o standalone y está encontrando problemas de alta carga de memoria, entonces recomendamos investigar para cambiar a algún otro programa que sea un poco más estable en este aspecto, un demonio, por ejemplo. Sugerimos mirar el siguiente software: amavisd-new.
Si usted ha añadido varias direcciones IP a su servidor, entonces debe configurar un enrutamiento estático (este tema no se aborda a detalle dentro de este tutorial). Asegúrese de especificar un solo gateway. Usar varios gateway a menudo puede causar problemas.
Si usted solo ha añadido una dirección IP a su hosting, asegúrese de reiniciar antes de intentar usarla. Esto es un requerimiento para que se pueda enrutar la dirección IP en nuestra red apropiadamente.