Utiliza zram en Linux y optimiza tu memoria virtual

La memoria ram, ese recurso que siempre nos parecerá insuficiente y nos lleva a usar zram.

Pero, que es zram y porque nos beneficia su uso en nuestras estaciones de trabajo Linux?

Que es zram y porque debería usarla?

zram es memoria virtual swap o de intercambio comprimida en memoria RAM.

La memoria RAM es mucho mas rápida que los discos mecánicos, ssd, nvme, etc por lo cual su acceso sera mas veloz.

Como crear o usar zram en Ubuntu y derivadas

Ubuntu y derivadas, aparte de algunas excepciones, utilizara systemd y sera mi base para este bloque.

No quieres leer pero si verlo en vídeo, te lo comparto.

Acelera tu memoria virtual en Linux – Dale click y te cuento

Comenzamos creándonos el modulo de zram para que sea cargado.

Es un fichero texto que crearemos con el editor nano después de escribir nuestra contraseña por el uso de sudo.

sudo nano /etc/modules-load.d/zram.conf
zram

Continuamos configurando y esta vez agregamos el modulo zram para que sea manejado con modprobe.

También un fichero texto creado con la ayuda de nano.

sudo nano /etc/modprobe.d/zram.conf
options zram num_devices=1

Ahora creamos el modulo para ser manejado por udev en Linux, también con nano.

OJO, colocaremos la cantidad de RAM física máxima a usar por zram, esta de mas decir que debe existir, no usar la capacidad total o mas de nuestra pc.

En el ejemplo asigno 2G de RAM.

sudo nano /etc/udev/rules.d/99-zram.rules
KERNEL=="zram0", ATTR{disksize}="2048M",TAG+="systemd"

Posiblemente tengas swap actualmente en uso en tu Linux, debemos deshabilitarla para comenzar a usar zram.

Si es una partición en tu disco, usaríamos la siguiente secuencia de comandos para identificarla.

cat /proc/swaps
..
/dev/sda3
Buscamos la partición swap activa en nuestro GNU Linux

Según la anterior salida tenemos una partición /dev/sda3 y para deshabilitarla ejecutamos.

sudo swapoff /dev/sda3

Ahora, si no es una partición, sino un fichero swap, por lo general lo encontraremos en el raíz de /

ls -la /
-rw-------   1 root root 2147483648 oct 15 10:05 swapfile

Y ahora la deshabilitariamos del fichero fstab de nuestro Ubuntu Linux para que no se active nuevamente al hacer boot.

Si es una partición, conociendo cual es como te mostré mas arriba buscamos la linea y la comentamos:

sudo nano /etc/fstab
#/dev/sda3

Salimos guardando cambios.

Pero si es un fichero swap buscamos su linea e igual la comentamos.

sudo nano /etc/fstab
#/swapfile  none swap    sw      0       0

Archivo systemd para zram

Nuestra zram sera manejada como un servicio de systemd.

Creamos su fichero de manejo.

sudo nano /etc/systemd/system/zram.service
[Unit]
Description=Swap con zram
After=multi-user.target

[Service]
Type=oneshot 
RemainAfterExit=true
ExecStartPre=/sbin/mkswap /dev/zram0
ExecStart=/sbin/swapon /dev/zram0
ExecStop=/sbin/swapoff /dev/zram0

[Install]
WantedBy=multi-user.target

Activamos el servicio para que se active apenas haga boot nuestro equipo.

sudo systemctl enable zram

Reiniciamos nuestro pc o servidor y ya podemos verificar la memoria física y virtual disponible, usada, etc.

free -h
cat /proc/swaps

Así se ve en mi equipo con Budgie.

Así se ve la memoria zram activa en mi Ubuntu Budgie

Y tu, que memoria virtual utilizas en tu distro Linux?

4.5 2 votes
Article Rating
3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
María Balderrama
María Balderrama
2 years ago

Sin duda alguna esta ampliación de nuestra memoria RAM con una memoria virtual será de gran ayuda para la empresas pequeñas que necesiten mayor espacio en la memoria de sus maquinas y no puedan costear el cambio de ellas, también reduciría costos y se ejecutarían mas rápidos los programas que utilicen dicha entidad.

Dave_Sorianno
Dave_Sorianno
2 years ago

HOLA AMIGO! ME ENCANTA TODO TU CONTENIDO, TE SIGO EN YT, HACE UNOS MESES INSTALE DEBIAN EN MI LAP CON PROCESADOR CORE I5 7TH 12 RAM DDR4 Y HDD 300GB, RESPECTO AL TEMA, HE NOTADO QUE NO CUNSUMO NI LA MITAD DE MI MEMORIA RAM, EN QUE ME BENEFICIARIA LA ZRAM?