
1. Introducción
En el ecosistema Linux, la gestión de memoria es el corazón del rendimiento. Históricamente, cuando la memoria RAM se agotaba, el sistema recurría a la «Swap» en disco, un proceso lento que a menudo degradaba la experiencia del usuario. Sin embargo, con la llegada de zRAM, hemos entrado en una era donde podemos «expandir» nuestra RAM mediante algoritmos de compresión en tiempo real. En este artículo, exploraremos cómo configurar un sistema con 16 GB de RAM para que utilice una partición zRAM equivalente, manteniendo al mismo tiempo una swap física para no sacrificar la capacidad de hibernación.
2. ¿Qué es zRAM?
zRAM es un módulo del kernel de Linux que crea un dispositivo de bloque en la memoria RAM donde los datos se comprimen. En lugar de enviar las páginas de memoria inactivas al disco (lento), las comprime y las mantiene en la memoria volátil (ultra rápido).
Es, en esencia, un «mecanismo de intercambio sobre RAM comprimida». Al usar algoritmos modernos como zstd, podemos alcanzar tasas de compresión de 3:1, transformando virtualmente 16 GB de swap en una capacidad de almacenamiento de datos mucho mayor sin tocar el hardware de almacenamiento.
3. ¿Qué es la Swap?
La Swap tradicional es un espacio dedicado en el disco duro (partición o archivo) que actúa como una extensión de la memoria física. Su función principal es doble:+1
- Red de seguridad: Evitar que el sistema cierre aplicaciones por falta de memoria (Out of Memory).
- Hibernación: Permitir el volcado completo del estado de la RAM física al disco para que el equipo pueda apagarse por completo y retomar el trabajo exactamente donde se dejó.
4. Características: zRAM vs. Swap Física
| Característica | zRAM | Swap Física (SSD/HDD) |
| Velocidad | Velocidad de bus de memoria (GB/s) | Velocidad de bus de disco (MB/s) |
| Latencia | Casi nula (nanosegundos) | Alta (milisegundos) |
| Persistencia | Volátil (se borra al apagar) | Persistente (sobrevive al apagado) |
| Uso de CPU | Bajo (para compresión) | Nulo |
| Ideal para | Rendimiento diario y multitarea | Hibernación y seguridad de datos |
5. Instalación de zRAM en Debian 13
Debian 13 facilita este proceso mediante el paquete zram-tools, que gestiona la creación y destrucción de los dispositivos de bloque de forma automatizada.
Para comenzar, abre tu terminal y ejecuta:
$ sudo apt install zram-tools
6. Configuración de zRAM de 16 GB
Para que la zRAM iguale tus 16 GB de RAM física, debemos editar el archivo de control del servicio.
- Edita el archivo de configuración:
sudo nano /etc/default/zramswap - Configura los parámetros para maximizar el rendimiento:
# Algoritmo de compresión de última generación ALGO=zstd # Definimos el 100% de la RAM física (16GB) PERCENT=100 # SIZE=512 # Prioridad alta para que se use antes que el disco PRIORITY=100
- Reinicia el servicio para aplicar los cambios:
sudo systemctl restart zramswap
$ sudo systemctl restart zramswap
7. Configuración de Swap para Hibernación
Para que el sistema pueda hibernar, debe existir una swap física con prioridad menor. Esto garantiza que el sistema use la zRAM para «intercambio rápido» y deje la swap de disco solo para el volcado de hibernación o casos de saturación extrema.
- Ajustar Prioridad: Edita
/etc/fstab(sudo nano /etc/fstab) y asegúrate de que tu línea de swap tenga la opciónpri=5:UUID=xxxx-xxxx none swap sw,pri=5 0 0
$ sudo nano /etc/fstab
# swap was on /dev/nvme0n1p1 during installation UUID=979f326b-4eb3-4d4d-9019-1562a3144386 none swap sw, pri=5 0 0
- Optimizar el kernel: Para que el sistema use la zRAM de forma más proactiva, ajustaremos el swappiness. Edita
sudo nano /etc/sysctl.confy añade:vm.swappiness=100
$ sudo nano /etc/sysctl.conf
vm.swappiness=100
- Aplica los cambios:
$ sudo sysctl -p vm.swappiness = 100
Para verificar que todo esté en orden, el comando zramctl es nuestra mejor herramienta. Este comando nos mostrará si el dispositivo está activo, qué algoritmo está usando y, sobre todo, si el tamaño coincide con tus 16 GB de RAM física.
Ejecuta el siguiente comando en tu terminal:
$ sudo zramctl NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT /dev/zram0 zstd 15G 4K 59B 20K 16 [SWAP]
¿Qué deberías ver?
La salida debería ser muy similar a esta tabla. Aquí te explico qué significa cada columna para confirmar que la configuración es la correcta:
| NAME | ALGORITHM | DISKSIZE | DATA | COMPR | TOTAL | STREAMS | MOUNTPOINT |
| /dev/zram0 | zstd | 16G | 0B | 0B | 0B | 8 | [SWAP] |
Puntos clave a confirmar:
- DISKSIZE (16G): Esto confirma que la zRAM ahora tiene el mismo tamaño que tu memoria RAM física.
- ALGORITHM (zstd): Indica que estás usando el algoritmo más eficiente de compresión.
- MOUNTPOINT ([SWAP]): Confirma que el sistema lo está reconociendo efectivamente como un área de intercambio.
8. Verificación de Prioridades (Crucial para Hibernación)
Como mencionamos, para que la hibernación funcione y el sistema no se ralentice usando el disco antes de tiempo, la zRAM debe tener prioridad. Ejecuta este segundo comando:
$ sudo swapon --show NAME TYPE SIZE USED PRIO /dev/nvme0n1p1 partition 33,1G 0B -2 /dev/zram0 partition 15G 0B 100
El resultado ideal debe verse así:
| NAME | TYPE | SIZE | USED | PRIO |
| /dev/zram0 | partition | 16G | 0B | 100 |
| /dev/sdaX | partition | 30G | 0B | 5 (o cualquier número menor a 100) |
Análisis del resultado: Si /dev/zram0 tiene una prioridad de 100 y tu swap de disco (ej. /dev/sda2) tiene una prioridad menor (como 5 o -2), ¡felicidades! Tu Debian 13 ahora es una máquina optimizada: usará la velocidad de la luz para el intercambio diario y guardará el disco duro exclusivamente para cuando decidas hibernar.
9. Resumen
Al configurar una zRAM de 16 GB con prioridad 100 y mantener una Swap física de 30 GB con prioridad 5, has creado un sistema de dos niveles:
- Nivel 1 (zRAM): Se encarga de la agilidad del sistema, comprimiendo datos en memoria a velocidades de vértigo.
- Nivel 2 (Disco): Actúa como almacén pasivo para la hibernación y como reserva de emergencia.
Esta configuración exprime al máximo tus 16 GB de RAM, protegiendo tu SSD del desgaste innecesario y permitiendo una multitarea fluida sin renunciar a la comodidad de la hibernación.
10. Referencias
- Linux Kernel Documentation: zRAM module.
- Debian Wiki: Swap and zRAM configurations.
- Zstandard (zstd) Compression Project – Facebook Open Source.
Descubre más desde javiercachon.com
Suscríbete y recibe las últimas entradas en tu correo electrónico.




