Start typing to search across invoices, services, domains, tickets, and more...
En un VPS con poca RAM, compilar software, ejecutar una base de datos o un pico repentino de tráfico pueden agotar la memoria y activar el OOM killer, que termina procesos como MySQL. Añadir espacio swap en Linux permite que el kernel traslade al disco los datos poco usados cuando la RAM escasea, lo que le da un margen de seguridad. Esta guía muestra cómo crear un archivo swap, activarlo al arrancar y ajustar swappiness en VPS KVM y servidores dedicados con Debian/Ubuntu o CentOS/Rocky/AlmaLinux.
Use free -h para ver la RAM y la swap existente, swapon --show para ver si ya hay swap activada y df -h para asegurarse de que la partición raíz tiene suficiente espacio libre. Tamaños habituales:
| RAM | Swap recomendada |
|---|---|
| 1 GB o menos | 1–2 GB |
| 2–4 GB | 2 GB |
| 8 GB o más | 2–4 GB (o según necesidad) |
free -h
swapon --show
df -h /
fallocate reserva al instante un archivo del tamaño solicitado. Si indica que la operación no es compatible (en algunos sistemas de archivos antiguos), use dd en su lugar: es más lento, pero funciona en todas partes. Los ejemplos crean un archivo /swapfile de 2 GB.
# Crear un archivo swap de 2 GB
fallocate -l 2G /swapfile
# Si fallocate falla ("Operation not supported"), use dd en su lugar
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
Un archivo swap puede contener datos sensibles de la memoria, por lo que solo root debe poder leerlo y escribirlo (600). Formatéelo con mkswap y actívelo de inmediato con swapon; free -h debería mostrar ahora el tamaño de la swap.
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon --show
free -h
swapon solo dura hasta el siguiente reinicio. Añada una línea a fstab para que la swap se active automáticamente. Haga antes una copia de seguridad de fstab.
cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' >> /etc/fstab
Swappiness (0–100) controla con qué facilidad el kernel recurre a la swap. En servidores normalmente conviene usar primero la RAM y la swap solo cuando sea necesario, por lo que un valor de alrededor de 10 es una buena elección. Guárdelo en /etc/sysctl.d/ para que sea permanente.
cat /proc/sys/vm/swappiness # usually 60 (Debian/Ubuntu) or 30 (some RHEL images)
sysctl vm.swappiness=10 # apply now
# Hacerlo permanente
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf
sysctl --system
Si ya no necesita la swap o quiere cambiar su tamaño, desactívela, borre la línea de fstab y elimine el archivo. Para cambiar el tamaño, simplemente repita los pasos 2–4.
swapoff /swapfile
sed -i '\|^/swapfile |d' /etc/fstab
rm -f /swapfile
free -h
"Invalid argument" suele indicar que fallocate creó el archivo en un sistema de archivos que no lo admite para swap: vuelva a crearlo con dd. "Operation not permitted" normalmente indica una virtualización basada en contenedores que no permite swap personalizada; contacte con soporte para confirmarlo.
No. Un archivo swap enorme no mejora el rendimiento y desperdicia espacio en disco, y un sistema que usa mucha swap se vuelve muy lento. Siga la tabla anterior; si realmente le falta memoria, mejore su plan.
Ejecute grep VmSwap /proc/*/status | sort -k2 -n | tail para listar los procesos que más swap consumen, o instale htop y active la columna SWAP.
¿Sigue con problemas después de seguir estos pasos? Abra un ticket de soporte y el equipo técnico 24/7 de IMIDC le ayudará. Incluya la IP del servidor, el sistema operativo, los comandos que ejecutó y una captura de pantalla del error para que podamos localizar el problema más rápido.