Swap: ¿Para qué sirve y cómo activarlo?
Publicado el 03.09.2025
Swap — es memoria virtual en disco que salva un VPS de caídas cuando la RAM se agota. En servidores económicos es una herramienta indispensable que evita fallos durante picos breves de consumo de memoria. La configuración es sencilla: crear un archivo, activarlo y añadirlo al arranque. Pero recuerda, es un seguro, no un sustituto de la memoria RAM.
Introducción
Los VPS modernos, por lo general, se crean con suficiente memoria RAM, pero a menudo sin swap (archivo o partición de intercambio). Es una elección consciente de los proveedores, que quieren que pases más rápido a una tarifa más cara.
Como resultado, cuando te encuentras con falta de memoria, el sistema empieza a comportarse de forma impredecible y, en el peor de los casos, actúa el OOM Killer (mecanismo de terminación por falta de memoria), que finaliza procesos de forma forzada.
En planes económicos, donde cada megabyte cuenta, el swap se convierte en una herramienta importante. No reemplaza la RAM, pero salvará el servidor de una caída en momentos en que se necesita más memoria de la disponible físicamente.
Qué es swap y cómo funciona
Swap es un área en el disco duro o SSD que Linux utiliza como memoria RAM adicional. Cuando la RAM se llena, el núcleo mueve datos menos usados al swap, liberando espacio para los procesos activos.
Esto es útil para tareas con picos breves de consumo de memoria:
- Compiladores (npm, gcc).
- Bases de datos (MySQL, PostgreSQL), que temporalmente cachean grandes volúmenes.
- Scripts en segundo plano y tareas cron.
Es importante entender: el acceso al disco es órdenes de magnitud más lento que a la RAM. Swap es un seguro, no una forma de acelerar el sistema.
Cómo activar Swap en un VPS
La mayoría de los proveedores (DigitalOcean, Vultr, etc.) no activan swap por defecto, pero puedes crearlo tú mismo usando un archivo.
- Crear el archivoSi
sudo fallocate -l 1G /swapfilefallocateno está disponible:sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 - Restringir permisos
sudo chmod 600 /swapfile - Inicializar y activar
sudo mkswap /swapfile sudo swapon /swapfile - Arranque automático tras reinicio
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab - Configuración de swappiness
Por defecto = 60. Para servidores normalmente se pone 10 o menos:Para conservarlo: añade
sudo sysctl vm.swappiness=10vm.swappiness=10en/etc/sysctl.conf. 💡 Además: reducir la agresividad del vaciado del cachéinode/dentryse puede hacer así:vm.vfs_cache_pressure=50
Comprobación
Memoria y swap:
free -h
Particiones/archivos swap activos:
swapon --show
Cómo elegir el tamaño del swap
Las recomendaciones varían:
- RAM ≤ 2 GB: RAM × 2
- 2–8 GB: RAM × 1
- 8–16 GB: 2–4 GB
- > 16 GB: 1–2 GB (o sin swap)
Cuándo no se necesita swap
El swap no siempre es útil:
- Servidores con gran cantidad de RAM (32 GB+) — la probabilidad de quedarse sin memoria es mínima.
- Bases de datos finamente ajustadas — el swap puede empeorar el rendimiento por I/O.
- Kubernetes y contenedores — normalmente se desactiva el swap para mayor previsibilidad.
- Algunos proveedores (por ejemplo, OpenVZ-VPS o Kubernetes gestionado) — el swap puede estar prohibido.
- ⚠ En SSD/NVMe, el uso activo de swap acelera el desgaste del almacenamiento.
Conclusión
Swap es un seguro contra el OOM Killer, no una forma de acelerar el servidor. Con la configuración correcta permite:
- Sobrevivir picos de consumo de memoria.
- Reducir el riesgo de fallos y caídas de aplicaciones.
- Ahorrar en la actualización de la tarifa del VPS. Pero debe usarse comprendiendo sus limitaciones y como solución temporal.