Bandera: Русский Русский Bandera: English English

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.

  1. Crear el archivo
    sudo fallocate -l 1G /swapfile
    
    Si fallocate no está disponible:
    sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
    
  2. Restringir permisos
    sudo chmod 600 /swapfile
    
  3. Inicializar y activar
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
  4. Arranque automático tras reinicio
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    
  5. Configuración de swappiness Por defecto = 60. Para servidores normalmente se pone 10 o menos:
    sudo sysctl vm.swappiness=10
    
    Para conservarlo: añade vm.swappiness=10 en /etc/sysctl.conf. 💡 Además: reducir la agresividad del vaciado del caché inode/dentry se 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.

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Publicaciones relacionadas