Tu VPS se cae justo cuando más te necesitan
Imaginá que tenés una tienda online en tu VPS, con productos regionales que se venden bien los fines de semana. Un sábado a la tarde la página empieza a cargar lento, después aparece un error y al rato no responde. Revisás el sitio, el código está bien y el panel dice que todo funciona. El problema suele estar en otro lado: el servidor se quedó sin memoria RAM y el sistema empezó a cerrar procesos para sobrevivir. Ahí es donde una memoria swap puede marcar la diferencia.
Esta guía está pensada para quien ya tiene un VPS y se maneja con lo básico de la terminal. Si todavía no te conectaste por SSH, conviene resolver ese paso primero. Vamos a ir despacio, con comandos concretos y una explicación de qué hace cada uno, para que no ejecutes nada a ciegas.
Qué es la memoria swap, en palabras simples
La memoria RAM es rápida pero limitada. La swap es un espacio reservado en el disco del servidor que Linux usa como respaldo cuando la RAM se llena. Es más lenta que la memoria real, pero evita que el sistema tenga que cerrar procesos de golpe, como la base de datos o el servidor web de tu tienda.
Pensala como un depósito auxiliar: no es tan cómodo como tener las cosas en el mostrador, pero te permite guardar lo que no entra sin tirar nada. Por eso la swap funciona como colchón de seguridad y no como reemplazo de la RAM.
Cuándo te conviene y cuándo no
La swap ayuda en servidores que tienen poca memoria y que, de vez en cuando, reciben más carga de la esperada. También sirve como red de seguridad mientras decidís si conviene subir de plan. No la uses como excusa para tener un servidor sobrecargado: si la swap trabaja todo el día, el problema de fondo sigue ahí.
Si tu VPS tiene memoria de sobra y nunca se llena, la swap casi no te va a aportar nada. Antes de tocar nada, conviene confirmar la situación.
Paso 0: diagnosticá la situación
Conectate por SSH y ejecutá estos tres comandos, uno por uno:
- free -h: muestra la memoria RAM total, la usada y la swap.
- swapon –show: lista las swap activas. Si no muestra nada, no tenés swap configurada.
- df -h /: muestra el espacio libre del disco. Necesitás lugar para la swap más un margen razonable.
Si la RAM está casi llena y no hay swap activa, estás frente al caso típico en el que esta guía te sirve.
Paso 1: elegí el tamaño
No existe una regla única, pero para un VPS chico de tienda online suele alcanzar con 1 o 2 GB de swap. Si tu RAM es de 1 GB o menos, 2 GB es una buena elección. Si tu servidor ya tiene 8 GB o más, con 1 GB de swap alcanza como red de seguridad. Lo importante es que el tamaño no supere el espacio libre del disco.
Paso 2: creá el archivo de swap
Los siguientes comandos requieren permisos de administrador, por eso se usa sudo. El primero reserva el espacio, el segundo restringe el acceso para que solo el usuario root pueda leer y escribir el archivo, y el tercero le da formato de swap:
- sudo fallocate -l 2G /swapfile
- sudo chmod 600 /swapfile
- sudo mkswap /swapfile
Si fallocate no está disponible en tu sistema, podés usar sudo dd if=/dev/zero of=/swapfile bs=1M count=2048. Tarda más, pero el resultado es el mismo. Ajustá el 2G o el 2048 al tamaño que elegiste.
Paso 3: activá la swap
Ejecutá sudo swapon /swapfile y después verificá con swapon –show y free -h. Tenés que ver la swap con el tamaño que definiste. En este punto ya funciona, pero solo hasta el próximo reinicio.
Paso 4: hacé que sobreviva a los reinicios
Para que la swap se active sola cada vez que el servidor arranca, hay que registrarla en el archivo /etc/fstab. Abrilo con sudo nano /etc/fstab y agregá al final esta línea:
/swapfile none swap sw 0 0
Antes de editar, hacé una copia con sudo cp /etc/fstab /etc/fstab.bak. Un error de tipeo en fstab puede impedir que el servidor arranque bien, así que revisá dos veces antes de guardar.
Paso 5: ajustá la swappiness
Linux tiene un parámetro llamado swappiness, que indica qué tan seguido recurre a la swap aunque todavía haya RAM libre. Para un servidor web conviene un valor bajo, como 10, así la RAM se usa primero y la swap queda como respaldo.
- cat /proc/sys/vm/swappiness: muestra el valor actual.
- sudo sysctl vm.swappiness=10: lo aplica de inmediato.
- Para que se mantenga tras reiniciar, agregá la línea vm.swappiness=10 en /etc/sysctl.conf.
Paso 6: revisá si la swap está trabajando demasiado
Una swap que se usa de vez en cuando es normal. Una swap que se usa sin parar es una señal. Ejecutá vmstat 1 5 y mirá las columnas si y so: muestran lo que entra y sale de la swap. Si casi siempre están en cero, todo bien. Si aparecen valores altos de forma constante, tu tienda necesita más RAM o hay procesos que conviene revisar.
Un caso real
Pensá en una tienda de productos regionales en Mendoza, con catálogo de cientos de artículos, pagos y un panel de administración que la dueña usa todas las tardes. Durante semanas todo andaba bien, hasta que una campaña de redes trajo muchas visitas al mismo tiempo. El VPS llegó al límite de memoria y el sitio se cayó dos veces en una tarde. Con una swap de 2 GB y swappiness en 10, el servidor aguantó el empuje, y después de revisar vmstat quedó claro que el siguiente paso era subir la RAM. La swap compró tiempo para decidir con calma.
Errores comunes que conviene evitar
- Crear una swap más grande que el disco disponible.
- Olvidarse del permiso 600. Sin ese paso, Linux puede rechazar la swap por motivos de seguridad.
- Editar fstab sin copia de respaldo.
- Pensar que la swap reemplaza a la RAM. Evita las caídas, pero es más lenta.
Cómo deshacer el cambio
Si necesitás quitar la swap, ejecutá sudo swapoff /swapfile, borrá la línea que agregaste en fstab y después sudo rm /swapfile. El servidor vuelve a su estado original sin más efectos.
Cómo averiguar qué proceso consume la memoria
Antes de depender de la swap, conviene saber quién está gastando la memoria. En un VPS de tienda online, los consumidores más comunes suelen ser la base de datos, el intérprete de PHP y el servidor web. Para verlo, ejecutá ps aux –sort=-%mem | head -n 10. El comando lista los diez procesos que más memoria usan, ordenados de mayor a menor. La columna %MEM indica el porcentaje y la columna RSS muestra la cantidad real de memoria ocupada.
Si preferís una vista interactiva, probá top o htop, si está instalado. Con la tecla M dentro de top podés ordenar por memoria. No te asustes por ver procesos grandes: lo importante es si uno solo ocupa casi todo el espacio disponible de forma constante. Ahí aparece la oportunidad de ajustar configuraciones, por ejemplo limitando cuántos procesos de PHP pueden correr al mismo tiempo, o revisando el tamaño de las cachés de la base de datos.
Un error frecuente es tocar la swap sin mirar esto primero. Si un proceso tiene una pérdida de memoria, por ejemplo un plugin que no libera recursos, la swap solo retrasa el síntoma. Anotá qué proceso crece con el tiempo y revisalo antes de tomar decisiones más grandes.
Checklist antes de dar el tema por cerrado
- La swap aparece en free -h con el tamaño que definiste.
- swapon –show muestra el archivo /swapfile activo.
- La línea de fstab está presente y fue revisada dos veces.
- La swappiness quedó en 10 y también está guardada en sysctl.conf.
- vmstat se revisó durante un par de días en horarios de tráfico normal.
- Existe una copia del fstab original por si necesitás volver atrás.
Cuando todos los puntos estén marcados, la configuración está completa. Guardá esta lista en tus notas para repetirla si algún día cambiás de servidor.
Preguntas frecuentes
¿La swap gasta mucho espacio en disco?
Solo ocupa el tamaño que le asignaste, por eso conviene elegirlo con criterio. Dos gigas en un disco de decenas de gigas es un costo razonable para la tranquilidad que da.
¿Sirve igual si mi VPS tiene disco SSD?
Sí. Un SSD es más rápido que un disco tradicional, pero sigue siendo más lento que la RAM. La swap cumple su función de respaldo, aunque no conviene depender de ella todo el tiempo.
¿Cómo sé si ya tengo que cambiar de plan?
Si la swap aparece usada de forma constante en vmstat, o si la RAM queda casi siempre al límite aunque reduzcas procesos, es momento de evaluar un plan con más memoria.
Para cerrar
Configurar una swap parece técnico, pero en realidad es una secuencia corta de pasos que podés hacer en una tarde. Te da margen cuando llega una oleada de visitas sin aviso y te deja tiempo para decidir sobre la memoria de tu servidor. Hacé la copia de fstab, aplicá los comandos en orden y verificá cada paso antes de seguir. Tu tienda y tus clientes lo van a notar.
