Optimiza tu memoria con ZRAM en OpenSUSE
Mi PC es un i5 14600K con unos humildes 32 GB de RAM. Suena decente, ¿no? Pues no cuando juegas Overwatch 2 en Linux. Ese juego se come al menos 16 GB de RAM, y después de un par de horas bajando rangos hasta Oro 5 y, como siempre, puteando a mis compañeros aleatorios de equipo ya estaba a punto de desinstalarlo de la frustración de ser tan manco.
Me dije, mañana volveré a intentarlo y noté algo raro: apagar la PC tardaba un montón. Al principio pensé “bah, será cosa de hoy”, pero la curiosidad me picó y me puse a investigar.
Reinicié, abrí solo Firefox y un par de programas ligeros, y esta vez apagar la máquina fue instantáneo. Me quedé mirando la pantalla, pensando: “¿Qué carajos está pasando aquí? Esto no es normal”.
Volví a jugar OW2 y abrí htop: el swap llegaba a 900 MB. Mi M.2 de 512 GB y el segundo disco es un raid zero con 3TB. deberían manejar eso sin problemas… entonces, ¿qué demonios estaba pasando?
Tras buscar un poco en Google, ¿que esperaban?, encontré que muchos recomendaban ZRAM: básicamente, una forma de comprimir la memoria swap y que todo fluya más rápido cuando la RAM se llena. Sonaba a marketing, pero decidí probarlo.
En este tutorial te voy a enseñar cómo configurar ZRAM en OpenSUSE, para tener un swap comprimido y veloz, reducir el uso del disco y hacer que tu sistema vuelva a sentirse ágil… incluso después de unas cuantas partidas frustrantes de OW2.
¿Qué es ZRAM?
ZRAM crea un dispositivo de bloque en memoria que actúa como swap pero ¿comprime los datos?, en mi caso SÍ y fue bastante, realmente no lo esperaba.
Ventajas:
- Swap más rápido que en disco.
- Menos I/O en SSD/HDD.
- Fluidez cuando la RAM se llena parcialmente.
Requisitos
- OpenSUSE con kernel moderno (≥5.x).
- Permisos root.
Primero, vamos a conocer la cantidad de RAM y uso de swap actual con:
free -h
sudo swapon --showInstalación y carga del módulo
sudo modprobe zramSi no existe, lo creamos (Probemos con 4 GB):
sudo zramctl --size 4G --algorithm zstd /dev/zram0
sudo mkswap /dev/zram0
sudo swapon -p 10 /dev/zram0Nota: El "-p 10" es para dar indicar que vamos a dar prioridad.
Verificamos nuevamente:
free -h
swapon --showEn este punto solo estamos probando y tenemos que hacer permanente el cambio con la zram y vamos a usar UDEV
- Cargar módulo siempre al boot:
echo "zram" | sudo tee /etc/modules-load.d/zram.conf- Crear regla UDEV
/etc/udev/rules.d/99-zram.rules:
KERNEL=="zram0", ACTION=="add", ATTR{comp_algorithm}="zstd", ATTR{disksize}="4G", RUN+="/sbin/mkswap /dev/zram0", TAG+="systemd"
- /etc/fstab
/dev/zram0 none swap defaults,pri=10 0 0Ajustes y recomendaciones
- No exceder ~25–30% de RAM real para ZRAM y si tienes más de 16GB usar 4GB es más que suficiente.
- Priorizar ZRAM sobre disco para swap (
pri=10). - Monitorear uso con zramctl, este punto es importante, porque aunque el sistema te diga que usa 1GB en swap, realmente en RAM física estoy usando un par de megas
- Para sistemas con SSD, ZRAM reduce significativamente el I/O al disco y mejora la fluidez en cargas altas de memoria, así como la salud del disco.
Conclusión
Con ZRAM en OpenSUSE, incluso si tu PC ya tiene buena RAM, tu sistema será más rápido y responsivo al usar swap, sin comprometer la estabilidad ni devorar memoria real. Eso sí… si eres manco en Overwatch 2, la ZRAM no va a subirte de rango, pero al menos no será culpa de tu PC.