La memoria RAM de un servidor tiene un límite, y cuando se alcanza, las consecuencias pueden ser catastróficas: degradación del rendimiento, fallos en los servicios e incluso reinicios inesperados. Para evitar estos escenarios existe la memoria swap, un mecanismo de intercambio que Linux utiliza como red de seguridad cuando los recursos de RAM se agotan. Entender cómo funciona y cómo configurarla es una habilidad fundamental para cualquier administrador de sistemas.
¿Qué es la memoria swap y por qué la necesitas?
La memoria swap, también conocida como memoria de intercambio o swapping, es una memoria auxiliar que se crea a nivel de disco duro [01:00]. Puede implementarse de dos maneras: como una partición dedicada o como un archivo dentro del sistema de archivos. Cuando la RAM de tu servidor se llena por completo, Linux activa automáticamente esta memoria de respaldo para evitar que el sistema colapse.
Es importante tener claro que la swap no sustituye a la RAM. Los discos duros, incluso los de estado sólido, son más lentos porque no están diseñados para este propósito [01:42]. La swap funciona exclusivamente como recurso de emergencia.
La gran ventaja de crear la swap mediante un archivo, conocido como swap file, es que se vuelve dinámica: puedes incrementar o reducir su tamaño sin necesidad de modificar particiones [02:17]. Esto contrasta con la partición swap tradicional, donde cualquier cambio de tamaño implica eliminarla, recrearla y reconfigurarla.
¿Cómo crear un swap file paso a paso?
Todo el proceso se realiza como usuario root, ya que se trata de una gestión a nivel de sistema [02:43].
¿Cómo verificar el espacio disponible?
Antes de crear cualquier swap file, necesitas confirmar que tienes espacio suficiente en disco. Esto se hace con el comando df [03:27]. También puedes revisar el estado actual de la memoria con free -h, que muestra tanto la RAM como la swap existente [03:14].
¿Cómo generar y configurar el archivo?
El proceso completo sigue estos pasos:
- Crear el archivo con fallocate, indicando el tamaño deseado con la flag
-l [03:38].
bash
sudo fallocate -l 2G /swapfile
- Asignar permisos 600 para que solo root pueda leer y escribir [04:10].
bash
sudo chmod 600 /swapfile
- Convertir el archivo en formato swap con mkswap [04:42]. Este comando genera un UUID específico para el dispositivo.
bash
sudo mkswap /swapfile
- Registrar el archivo en /etc/fstab para que persista tras cada reinicio [05:14].
¿Qué es el archivo fstab y cómo se configura?
El archivo /etc/fstab contiene todas las directrices de los dispositivos que arrancan al inicio del sistema [05:14]. Sin esta configuración, la swap solo funcionaría de manera temporal y desaparecería tras un reinicio.
Cada entrada en fstab requiere varios campos:
- Identificador del archivo: puede ser por nombre, UUID u otra categoría.
- Punto de montaje (mount point): para swap se indica como
swap.
- Tipo de sistema de archivos: también
swap.
- Opciones: se puede usar
defaults o sw.
- Dump: controla si se realizan respaldos automáticos. Se pone
0 para desactivarlo, 1 para activarlo [07:00]. En memoria swap, al ser volátil, no tiene sentido respaldarla.
- Pass (FSK): ejecuta File System Check, una revisión de integridad del disco al encender el sistema [07:20]. Acepta valores
0, 1 y 2.
Finalmente, se activa la swap con el comando swapon [08:30]:
bash
sudo swapon /swapfile
Al ejecutar free -h después, el incremento es inmediato y visible.
¿Cómo eliminar un swap file cuando ya no lo necesitas?
Si necesitas recuperar ese espacio de disco, el proceso inverso es igual de sencillo:
- Desactivar la swap con swapoff [09:18].
bash
sudo swapoff /swapfile
- Eliminar la entrada correspondiente en
/etc/fstab editándolo con Vim u otro editor. En Vim, presionar dd dos veces sobre la línea la elimina rápidamente [09:48].
- Borrar el archivo con
sudo rm /swapfile [10:52].
Un detalle crucial: siempre edita fstab con sudo. Intentar hacerlo como usuario normal generará un error de permisos al guardar [10:25].
La memoria swap puede salvarte de que tu sistema completo se caiga en momentos críticos. Dependiendo de los recursos de tu servidor, existen tablas de recomendación, como la documentación oficial de Red Hat, que indica cuánta swap asignar según la cantidad de RAM disponible [11:07]. ¿Ya configuraste la swap en tus servidores? Comparte tu experiencia y las decisiones que tomaste al dimensionarla.