SWAP en Linux
Guía para crear y configurar el espacio swap en Linux.
SWAP (espacio de intercambio) es un mecanismo de memoria virtual en Linux que traslada datos inactivos de la RAM al disco (HDD o SSD) para liberar memoria física y destinarla a las tareas activas. Actúa como buffer de emergencia cuando la RAM escasea, pero el acceso al disco es decenas de miles de veces más lento que la RAM, por lo que un uso intensivo del swap ralentiza el sistema de forma perceptible.
En Linux, la RAM se divide en páginas. El swapping es el proceso de copiar las páginas menos utilizadas a un área de disco dedicada llamada swap space (un archivo o una partición dedicada). La RAM y el swap space juntos conforman la memoria virtual total disponible para el sistema.
Para qué sirve el swap
El swap cumple dos funciones principales:
- Cuando el sistema necesita más memoria de la disponible, el kernel mueve las páginas menos utilizadas al swap, liberando RAM para los procesos activos.
- Muchas páginas cargadas por las aplicaciones al inicio rara vez se usan después. El sistema puede moverlas al swap para mantener la RAM disponible para tareas más importantes.
Desventajas del swap
La principal desventaja es la velocidad. Las operaciones en RAM se realizan en nanosegundos, mientras que las operaciones en disco toman milisegundos — decenas de miles de veces más lento. Un uso intensivo del swap provoca ralentizaciones notables.
Nota
Cuando las aplicaciones dependen en gran medida del swap, el rendimiento cae de forma significativa. En estos casos, considera aumentar la RAM. Una opción es migrar tu proyecto a un VPS o un servidor dedicado más potente, con escalado de recursos flexible.
Síntomas habituales de falta de memoria (especialmente en bases de datos):
- Errores frecuentes del sitio web como «error de conexión a la base de datos» (por ejemplo, caídas de MySQL)
- Registros con el mensaje InnoDB: Fatal error: cannot allocate memory for the buffer pool
- Respuesta lenta del servidor incluso con un uso bajo de CPU
Incluso en SSD, las operaciones de swap pasan por el subsistema de disco, lo que aumenta la latencia.
Si tu sistema depende intensamente del swap, es una señal clara de que debes aumentar la RAM u optimizar la aplicación. Considera escalar a un VPS más potente o migrar a un servidor dedicado.
Comprobar el swap
Ejecuta:
swapon -s
Ejemplo de salida:
Filename Type Size Used Priority
/swapfile file 40956 40956 -1
O para una vista rápida:
free -m
Ejemplo de salida:
total used free shared buff/cache available
Mem: 488 160 7 40 320 259
Swap: 39 39 0
Si Swap muestra 0 o no aparece — es necesario crearlo.
Nuestros servicios y productos
Crear un archivo de swap (método recomendado)
- Crea un archivo de swap (ejemplo: 2 GB):
sudo fallocate -l 2G /swapfile
o bien
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
- Establece permisos seguros (solo root puede leer/escribir):
sudo chmod 600 /swapfile
- Fórmatealo como swap:
sudo mkswap /swapfile
- Activa el archivo de swap:
sudo swapon /swapfile
- Hazlo permanente — añade la entrada a
/etc/fstab:
sudo nano /etc/fstab
Añade esta línea al final:
/swapfile none swap sw 0 0
Guarda (Ctrl+O → Enter → Ctrl+X).
- Verifica:
free -h
Opcional: ajustar la swappiness
swappiness controla con qué agresividad utiliza el sistema el swap (0–100, valor predeterminado 60).
Comprueba el valor actual:
cat /proc/sys/vm/swappiness
Establece un valor más bajo (recomendado para servidores: 10–20):
sudo sysctl vm.swappiness=10
Para que sea permanente, añade a /etc/sysctl.conf:
vm.swappiness=10
Aplica los cambios:
sudo sysctl -p
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!