A medida que la escasez de RAM se hace realidad, la optimización del software vuelve a cobrar protagonismo. Limitarse a desactivar la swap o esperar que un sistema pueda arreglárselas sin red es un planteamiento arriesgado. Linux se basa en una cadena de memoria diseñada para absorber los picos de carga y suavizar las situaciones de estrés. zRAM amplía esta lógica proporcionando espacio de intercambio comprimido directamente en la RAM. Esto significa que puedes utilizar hasta el doble de memoria que en el funcionamiento convencional. Descubre cómo configurar zRAM y utilizarla correctamente.
¿Qué es la zRAM?
ZRAM es un módulo del núcleo de Linux que crea espacio de almacenamiento directamente en la RAM, pero de forma comprimida. Parte de la RAM se utiliza entonces como disco virtual para almacenar páginas de memoria comprimida sobre la marcha. Este espacio se utiliza como área de intercambio, es decir, como memoria de reserva cuando la RAM empieza a llenarse. A diferencia del intercambio de discos, que depende de un HDD o SSD, ZRAM funciona enteramente en memoria y limita una gran proporción de accesos lentos al almacenamiento.
En lugar de escribir inmediatamente los datos poco utilizados en un soporte de almacenamiento, el sistema intenta primero comprimirlos y almacenarlos en la memoria RAM. La compresión consume tiempo del procesador, pero este coste es menor que el tiempo necesario para leer o escribir en un disco. Gracias a este mecanismo, la misma cantidad de memoria física puede albergar más datos útiles.
zRAM no sustituye la adición de una tira de memoria cuando las necesidades de un PC lento son demasiado grandes. En su lugar, permite que la memoria existente se utilice de forma mucho más eficiente, reduciendo la presión de la memoria y limitando las ralentizaciones bajo carga. Con la escasez de RAM y el aumento de los precios, zRAM es una solución de software para mejorar la eficiencia de la RAM y la comodidad del usuario en Linux.
1. Activar zRAM en Linux para aumentar la RAM
Antes de cualquier instalación, le recomendamos que actualice la lista de paquetes y los paquetes existentes en Linux.
sudo apt update && sudo apt upgrade
Esto asegura que zram-tools y sus dependencias se instalan en una versión compatible con su sistema.
El paquete zram-tools proporciona un servicio listo para usar para gestionar automáticamente un dispositivo zRAM.
sudo apt install zram-tools
Una vez instalado, el sistema tiene todo lo necesario para crear un dispositivo de intercambio comprimido.
El servicio se activa inmediatamente y se hace persistente al arrancar.
sudo systemctl enable --now zramswap.service
En Ubuntu, la instalación del paquete activa automáticamente zRAM.
2. Configurar zRAM para aprovechar mejor la RAM
Una vez instalada la zRAM, se puede ajustar su comportamiento para conseguir el equilibrio óptimo entre ganancia de memoria e impacto en el procesador.
Los ajustes se encuentran en un archivo de configuración específico.
sudo nano /etc/default/zramswap
Este archivo contiene los parámetros que determinan la cantidad de memoria utilizada por zRAM y el algoritmo de compresión utilizado.
El primer ajuste importante es el porcentaje de RAM asignado.
PORCENTAJE=50
Este valor indica que zRAM utilizará el equivalente a la mitad de la memoria física. Esta proporción es un buen compromiso para la mayoría de los sistemas, ya que proporciona una reserva suficiente para absorber la memoria inactiva sin imponer una carga excesiva al procesador. Es posible aumentar ligeramente este porcentaje en un PC muy modesto o, por el contrario, reducirlo en una máquina más potente.
El segundo parámetro se refiere al algoritmo de compresión.
ALGO=zstd
Se recomienda zstd porque ofrece un excelente equilibrio entre tasa de compresión y velocidad. Permite almacenar más datos comprimidos en el mismo espacio de memoria manteniendo un buen rendimiento.
Sin embargo, en un procesador menos potente o más antiguo, puede ser apropiado utilizar un algoritmo aún más ligero como lz4 (la compresión es ligeramente menos eficiente que zstd, pero las operaciones son extremadamente rápidas y requieren menos cálculos).
Una vez definidos estos parámetros, es necesario reiniciar el servicio para que el sistema tenga en cuenta la nueva configuración.
sudo systemctl restart zramswap
Este reinicio aplica inmediatamente el tamaño elegido para zRAM y el algoritmo de compresión seleccionado.
¿Cómo retrasa zRAM las ralentizaciones del sistema?
zRAM se vuelve interesante cuando la máquina empieza a quedarse sin RAM. Mientras haya suficiente RAM disponible, su impacto es limitado. Por otro lado, en cuanto el sistema se acerca a la saturación, zRAM cambia profundamente el comportamiento de la gestión de memoria. En lugar de escribir inmediatamente en disco las páginas poco utilizadas, lo que resulta lento, el núcleo las comprime y las almacena directamente en la RAM. Este enfoque evita una gran proporción de los accesos al almacenamiento y reduce significativamente los microbloqueos característicos del swap convencional.

La ganancia obtenida depende principalmente de la relación de compresión, que varía según el tipo de datos almacenados en memoria. En las páginas anónimas clásicas, no es raro observar una relación de alrededor de 2:1, lo que significa que dos 2 GB de datos pueden caber en un 1 GB de memoria RAM comprimida. Esta proporción no está garantizada, pero ilustra el potencial de la tecnología. En la práctica, zRAM puede ofrecer el equivalente a unos cuantos GB de margen extra antes de que el sistema empiece a volverse lento o difícil de usar.
El impacto del algoritmo de compresión en la CPU
Sin embargo, esta ventaja tiene un coste, ya que la compresión y descompresión sobrecargan el procesador. En una máquina moderna, este impacto es leve. En un ordenador muy poco potente, sin embargo, puede llegar a ser notable. Por eso puede ser una buena idea utilizar un algoritmo muy rápido como lz4, aunque signifique aceptar una tasa de compresión ligeramente inferior a la de zstd.
Varios proyectos de investigación realizados en entornos móviles y sistemas con limitaciones confirman estas observaciones. Cuando aumenta la presión sobre la memoria, el uso de zRAM mejora la capacidad de respuesta de las aplicaciones y reduce el número de escrituras en el almacenamiento. zRAM no hace que un sistema sea más rápido per se, pero ayuda a mantenerlo utilizable durante más tiempo cuando los recursos se vuelven limitados.