Fedora es la distribución que ha decidido impulsarswap sobre zRAM como alternativa a la tradicional partición de área de intercambio que nos ha acompañado durante muchísimo tiempo. Como resultado, la distribución comunitaria patrocinada por Red Hat ha conseguido mejorar de manera considerable el rendimiento de la swap, hasta el extremo de abrir la puerta a la ejecución de aplicaciones mucho más exigentes en equipos que no andan sobrados de memoria RAM. Pero antes de continuar, explicaremos de forma básica qué es swap sobre zRAM.
Conocido anteriormente anteriormente compcache, zRAM es un módulo para el kernel Linux que crea un dispositivo de bloque comprimido en RAM. Dicho con otras palabras, crea un disco de RAM con compresión on-the-fly (sobre la marcha). Este dispositivo de bloque creado con zRAM suele ser usado como swap, de ahí que haya entrado en competición con las particiones de área de intercambio usadas en Linux desde hace décadas.
¿Y qué aporta swap sobre zRAM frente a las particiones de área de intercambio? Aparte de mostrarse como algo más moderno y “cool”, el uso de zRAM ofrece un rendimiento muy superior. A título personal, sobre mi portátil Acer Aspire A515-54, cuando usaba una partición de área de intercambio en Fedora 32 Workstation, Doom 2016 mediante Proton/Steam Play me iba a menos de 10fps (más concretamente rondaba las 6 o 7 imágenes por segundo) incluso en el menú. Con Fedora 33 Workstation y el uso de swap sobre zRAM vi que el framerate durante la partida pasó a rozar los 20fps, lo cual es una mejora del triple en el rendimiento.
En resumidas cuentas, utilizar swap sobre zRAM es algo que puede traer notables beneficios para el usuario, tanto en equipos antiguos y modestos como modernos y potentes. Debido a eso, vamos a enseñar cómo habilitar la característica que nos ocupa en Debian 10 Buster, siendo este tutorial también aplicable a Bullseye y por lo menos en Ubuntu 20.04 LTS, si bien la distribución de Canonical hace uso de swapfile como sustituto de la partición.
Cómo habilitar swap sobre zRAM en Debian 10 Buster y Ubuntu 20.04
Lo primero que hay que hacer es instalar las herramientas que permiten configurar y hacer uso de swap sobre zRAM. Para ello hay que instalar el siguiente paquete, ya sea mediante la línea de comandos o buscándolo con el gestor gráfico de paquetes Synaptic:
sudo apt install zram-tools
La configuración básica de swap sobre zRAM en Debian y Ubuntu se encuentra en el fichero ‘/etc/default/zramswap’. Si el usuario reinicia sin tocar nada, por defecto se asignan 250 mebibytes (adicionales si partición sigue presente y montada) para el área de intercambio, sin embargo, en estos tiempos esa cantidad es muy escasa, así que siguiendo las recomendaciones publicadas en Ctrl.blog, la subiremos hasta el 50% de la RAM presente en el sistema.
Para subir la cantidad de zRAM a la óptima, en primer lugar hay que abrir el fichero ‘/etc/default/zramswap’ con un editor de texto plano. En nuestro caso usaremos Nano con el fin de usar una herramienta de consola “abstracta” con respecto al entorno de escritorio:
sudo nano /etc/default/zramswap
Una vez abierto el fichero de configuración de swap sobre zRAM, en la sección correspondiente (la segunda en Debian 10 Buster) hay que introducir lo siguiente, que es la cantidad de zRAM en porcentaje con respecto a la RAM, guardar los cambios, cerrar el fichero y reiniciar el sistema:
PERCENTAGE=50
Si el equipo dispone de más de 8GB de RAM sería más conveniente limitar la cantidad de zRAM a una cantidad fija de 4GiB. Para ello, en lugar del valor ‘PERCENTAGE’, hay que modificar el valor de ‘ALLOCATION’, que obviamente antes hay que descomentar:
ALLOCATION=4096
En caso de que el ordenador tenga más de 16GB de RAM, se puede establecer opcionalmente el límite en 8GiB:
ALLOCATION=8192
Con esto ya tenemos swap sobre zRAM funcionando para ofrecer un área de intercambio con un rendimiento mucho mejor que la partición swap de “toda la vida”. Si el usuario tiene una configuración heredada de las particiones, posiblemente todavía conserve la partición de área de intercambio, que en caso de tener un equipo con 6GB o más de RAM puede inhabilitar, si quiere, a través del fichero ‘/etc/fstab’:
sudo nano /etc/fstab
Tras comentar la línea del punto de montaje de la partición swap en ‘/etc/fstab’, el usuario solo tiene que reiniciar para aplicar los cambios. El criterio de los 6GB de RAM viene debido a que los 2GB de zRAM que se asignarían en un equipo con 4GB de RAM podrían quedarse cortos, así que en esa circunstancia sería preferible mantener la partición de área de intercambio para así disponer de “más memoria”, pero esto no es ninguna obligación y al final queda bajo el criterio del propio usuario.
AVISO: El tutorial ha sido modificado el 3 de febrero de 2021 con el fin de afinar las configuraciones para equipos con mucha memoria RAM.
Imagen: Pixabay