El arte del equilibrio: zRAM de 16 GB y swap de 30 GB física en Debian 13

Anuncio

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

  1. Red de seguridad: Evitar que el sistema cierre aplicaciones por falta de memoria (Out of Memory).
  2. 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ísticazRAMSwap Física (SSD/HDD)
VelocidadVelocidad de bus de memoria (GB/s)Velocidad de bus de disco (MB/s)
LatenciaCasi nula (nanosegundos)Alta (milisegundos)
PersistenciaVolátil (se borra al apagar)Persistente (sobrevive al apagado)
Uso de CPUBajo (para compresión)Nulo
Ideal paraRendimiento diario y multitareaHibernació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.

  1. Edita el archivo de configuración: sudo nano /etc/default/zramswap
  2. 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
  1. 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.

  1. Ajustar Prioridad: Edita /etc/fstab (sudo nano /etc/fstab) y asegúrate de que tu línea de swap tenga la opción pri=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
  1. Optimizar el kernel: Para que el sistema use la zRAM de forma más proactiva, ajustaremos el swappiness. Edita sudo nano /etc/sysctl.conf y añade: vm.swappiness=100
$ sudo nano /etc/sysctl.conf
vm.swappiness=100
  1. 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.

Anuncio

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:

NAMEALGORITHMDISKSIZEDATACOMPRTOTALSTREAMSMOUNTPOINT
/dev/zram0zstd16G0B0B0B8[SWAP]

Puntos clave a confirmar:

  1. DISKSIZE (16G): Esto confirma que la zRAM ahora tiene el mismo tamaño que tu memoria RAM física.
  2. ALGORITHM (zstd): Indica que estás usando el algoritmo más eficiente de compresión.
  3. 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í:

NAMETYPESIZEUSEDPRIO
/dev/zram0partition16G0B100
/dev/sdaXpartition30G0B5 (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.
Nuestra puntuación
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Anuncio
Comparte en las redes sociales...

Descubre más desde javiercachon.com

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
ResponsableJavier Cachón Garrido +info...
FinalidadGestionar y moderar tus comentarios. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosAutomattic Inc., EEUU para filtrar el spam. +info...
DerechosAcceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Traducir »
Scroll al inicio

Descubre más desde javiercachon.com

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

¡Hola!

Haz clic en uno de nuestros representantes a continuación para chatear por Telegram o envíanos un correo electrónico a soporte@javiercachon.com

¡Ayuda!