Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

Como vaciar la memoria Swap de un servidor Linux

En ocasiones podemos recibir alertas de uso de recursos donde nos indican que la memoria Swap o Memoria de Intercambio del servidor está al 100% de uso.

SERVICE ALERT: ce00000000000.dnssw.net
Unix Memory Nou
WARNING
Usage: real 95% (11404/11995 MB), buffer: 3 MB, cache: 302 MB, swap: 100% (1907/1907 MB)

Comúnmente esto puede pasar por dos escenarios:

  1. El servidor se ha quedado sin memoria RAM y está o ha estado escribiendo en Swap.
  2. El software instalado en el servidor, por propia configuración, está o ha estado escribiendo en Swap.

danger ⚠️ Las acciones realizadas a continuación pueden ser peligrosas si no dispones de los conocimientos necesarios ⚠️

Como detectar la alerta

Si dispones de Monitorización Avanzada habrás recibido un correo notificándote de la alerta Unix Memory Nou.

SERVICE ALERT: ce00000000000.dnssw.net
Unix Memory Nou
WARNING
Usage: real 95% (11404/11995 MB), buffer: 3 MB, cache: 302 MB, swap: 100% (1907/1907 MB)

Cómo activar la Monitorización Avanzada en mi Cloud

Como tratar la alerta

Para tratar la alerta deberás conectarte por consola a tu servidor. Puedes conectarte a través de la Consola de SWPanel o a través de SSH.

Para vaciar la memoria Swap, deberemos volcar los datos almacenados en la memoria RAM.

Primero de todo, deberemos comprobar el estado de la memoria del servidor, utilizando el siguiente comando:

free -m

Con este, podremos ver los bytes de memoria que tienes asignados, disponibles y utilizados.

En este caso, el servidor tiene ocupados 453B y libres 1453B:

Deberemos asegurarnos que la cantidad de Swap utilizada es menor a la cantidad de RAM disponible.

En este caso, esta regla se cumple, tenemos 453B de Swap en uso y 3379B de RAM disponibles:

danger ⚠️ No realizar el siguiente paso si la regla anterior no se cumple ⚠️

Si se cumple la regla anterior, procederemos a volcar la Swap en la RAM y, de este modo, la vaciaremos. Usaremos el siguiente comando:

swapoff -a && swapon -a

Al ejecutar el comando, la consola se quedará 'inactiva' hasta que el proceso finalice:

El proceso de vaciado de la Swap puede tardar varios minutos dependiendo del estado del servidor y sus recursos.

Puedes ver el proceso de vaciado en tiempo real, abriendo otra consola y utilizando el comando:

watch -n0 free -m