Optimizar memoria RAM y Swap en servidores Linux

Última actualización: 06/09/2026
Autor: Isaac

Primer plano de un rack de servidores modernos con iluminación azul fría en un centro de datos profesional.

Cuando montas un servidor en Linux, ya sea que uses Debian, Ubuntu o CentOS, es muy probable que en algún momento sientas que el sistema va un poco a rastras porque la memoria RAM es limitada. No hace falta gastarse un dineral en ampliar el hardware inmediatamente; la mayoría de las veces, el secreto está en saber cómo exprimir al máximo los recursos que ya tienes y configurar el sistema para que no se ahogue cuando la carga de trabajo sube.

Optimizar la memoria no es solo cuestión de liberar espacio, sino de gestionar inteligentemente el flujo de datos entre la RAM y el almacenamiento. Si logramos que el servidor sea más eficiente, no solo ganaremos en velocidad de respuesta, sino que evitaremos esos sustos típicos donde el sistema se cuelga o los servicios críticos, como las bases de datos, dejan de responder por falta de memoria física disponible.

Optimiza Linux Mint para equipos antiguos
Related article:
Cómo optimizar Linux Mint para ordenadores antiguos

Entendiendo la arquitectura de memoria en Linux

Vista en perspectiva de servidores torre alineados en un centro de datos con luces ambientales azules y rojas.

Para meterle mano a la optimización, primero hay que tener claro que Linux maneja lo que llamamos memoria virtual. Esta es una combinación de la memoria física (la RAM, que es rapidísima) y el espacio de intercambio o Swap. La RAM es la que permite que los procesos pesados vuelen, pero tiene un límite físico. Dependiendo de la arquitectura, un sistema de 32 bits solo llega a los 4 GB, mientras que uno de 64 bits puede manejar cantidades ingentes de memoria.

Cuando la RAM se llena, entra en juego la memoria de intercambio (Swap). Básicamente, es un trozo del disco duro que el sistema usa como «RAM de emergencia». Linux mueve allí los datos de los procesos que no se están usando en ese momento para dejar sitio a lo que es urgente. El problema es que el disco duro es muchísimo más lento que la RAM (hablamos de milisegundos frente a nanosegundos), por lo que si el sistema depende demasiado de la Swap, notarás que el servidor se vuelve lento como una tortuga.

  Qué es un webhook, cómo funciona y para qué se usa

Guía para gestionar la memoria Swap

Detalle técnico de un módulo de memoria RAM SODIMM sobre fondo blanco, resaltando los chips de memoria.

No todo el mundo necesita la misma cantidad de Swap, pero hay unas reglas generales que suelen funcionar bien. Si tu servidor es muy modesto y tiene 1 GB de RAM o menos, lo ideal es asignar una Swap del mismo tamaño que la RAM. Para equipos que rondan los 2 GB a 4 GB, con la mitad de la RAM suele bastar. Si tienes más de 4 GB, no hace falta pasarse; con un espacio entre 512 MB y 2 GB es más que suficiente para evitar errores críticos.

Un punto clave es el parámetro swappiness, que es el que le dice al Kernel cuándo empezar a mover datos a la Swap. El valor va de 0 a 100. Por defecto viene en 60, pero en servidores con poca carga puede que quieras bajarlo a 10 para forzar al sistema a priorizar la RAM y ganar velocidad. Para ver el valor actual, puedes lanzar el comando cat /proc/sys/vm/swappiness. Si quieres cambiarlo al vuelo, usa sudo sysctl -w vm.swappiness=10, aunque para que el cambio no se borre al reiniciar, debes añadir la línea vm.swappiness=10 al final del archivo /etc/sysctl.conf.

Módulo de memoria RAM detallado sobre fondo blanco
Related article:
Cómo detectar y solucionar fallos intermitentes en la memoria RAM del PC

Cómo crear y liberar la Swap

Si te olvidaste de crear la partición de intercambio durante la instalación, no entres en pánico, no hace falta formatear. Puedes crear un archivo de intercambio (swapfile) siguiendo estos pasos: primero reserva el espacio con sudo fallocate -l 1G /swapfile, ajusta los permisos con sudo chmod 600 /swapfile, formatea el archivo con sudo mkswap /swapfile y actívalo con sudo swapon /swapfile. Para que sea permanente, añade /swapfile none swap sw 0 0 al archivo /etc/fstab.

A veces, la Swap se llena y el sistema se vuelve pesado aunque ya haya RAM libre. En esos casos, puedes vaciar la Swap y devolver los datos a la RAM con el comando sudo swapoff -a && sudo swapon -a. Solo asegúrate de que tienes suficiente memoria física libre antes de hacerlo, o el sistema podría dar un error por falta de espacio.

  10 Mejores Programas Para Particionar Un Disco Duro

Herramientas de diagnóstico y monitorización

Componentes de hardware informático, incluyendo un procesador CPU y módulos de memoria RAM DDR4.

Para saber qué está pasando realmente en tu servidor, necesitas herramientas de visibilidad. El comando más básico es free -h, que te da un resumen rápido de la memoria usada y disponible en un formato legible para humanos. Si buscas algo más detallado, vmstat -s -S M te permite ver la memoria inactiva, que es aquella que está en uso pero no asignada a ningún proceso concreto, funcionando básicamente como memoria libre.

Para cazar al proceso que se está comiendo todos los recursos, top es el estándar, pero htop es mucho más visual y cómodo (se instala con apt install htop en Debian o dnf install htop en AlmaLinux). Si quieres ir al grano y saber exactamente cuánta Swap usa un proceso específico, puedes buscar su PID con pidof y luego mirar su estado con grep VmSwap /proc//status.

Cómo medir IOPS y latencia de tu SSD desde Windows 11 y Linux
Related article:
Guía Completa para Medir IOPS y Latencia de SSD en Windows y Linux

Técnicas avanzadas de optimización

Fotografía macro de módulos de memoria RAM y un microprocesador instalados en una placa base verde.

Cuando quieres llevar el rendimiento al siguiente nivel, existen opciones como zRAM. A diferencia de la Swap tradicional en disco, zRAM crea un dispositivo de bloque comprimido en la propia RAM. Esto significa que los datos se comprimen antes de ser «swapeados», reduciendo drásticamente el uso de memoria física y evitando el cuello de botella del disco duro. En Debian se instala con zram-tools y en AlmaLinux mediante zram-generator, pudiendo habilitar zRAM en Linux para exprimir al máximo la memoria.

Otra táctica útil es la limpieza manual de la caché del sistema. Linux guarda datos en caché para acelerar el acceso, pero si estás en una situación límite, puedes liberarlos con sudo sync && sudo sysctl -w vm.drop_caches=3. Además, es fundamental desactivar servicios innecesarios o contenedores de Docker en Linux que hayan quedado olvidados en entornos de prueba, ya que cada proceso en segundo plano es memoria que le robas a tu aplicación principal.

  Cómo Instalar Windows 7 en un USB o Disco Duro Externo

Para los que buscan la máxima velocidad en el procesamiento de archivos temporales, crear un disco RAM (ramdisk) es una opción brillante. Es un espacio de almacenamiento volátil dentro de la RAM que es órdenes de magnitud más rápido que cualquier SSD. Esto es ideal para carpetas de caché de aplicaciones que requieren lectura y escritura constante. Asimismo, mantener los puertos cerrados y vigilar el crontab ayuda a evitar que malwares de minería consuman tu memoria en secreto.

La gestión eficiente de un servidor Linux pasa por equilibrar el uso de la RAM física, el ajuste fino del swappiness y la implementación de tecnologías de compresión como zRAM, asegurando siempre que los procesos inactivos no bloqueen los recursos críticos mediante una monitorización constante con herramientas como htop o vmstat.

cómo habilitar zram en linux
Related article:
Cómo habilitar zram en Linux y exprimir la memoria al máximo