Acelerar Ubuntu en ordenadores antiguos con zram

Muchos de los equipos actuales vienen cargados de memoria RAM. Esta es la razón por la que el área de intercambio prácticamente no se utiliza. Eso, a menos que tengas una buena cantidad de aplicaciones en funcionamiento. O también es posible que tengas alguno de los devoradores de memoria por antonomasia como son Firefox o Chrome. Y no es necesario que los tengas abiertos con con una veintena de pestañas o múltiples complementos en funcionamiento, sino simplemente por su propia naturaleza. Pero, ¿y si tu máquina tiene menos de 1 ó 2 GB de RAM? Pues verás como interviene el área de intercambio. Dado que los discos duros o incluso los discos SSD son mucho mas lentos que la memoria RAM, notarán una reducción de la velocidad del equipo considerable. Sin embargo, hay una solución para aumentar la cantidad de memoria RAM sin hacerlo físicamente y acelerar tu equipo. Se trata de zram.

Acelerar Ubuntu en ordenadores antiguos con zram. Portada.

Acelerar Ubuntu en ordenadores antiguos con zram

¿Que es ZRAM?

zram, formalmente conocido como compcache, es un módulo del núcleo de Linux que nos permite crear bloques comprimidos llamados /dev/zram. Todo lo que va a parar a estos discos se comprime y se guarda. Sin embargo, estos discos tienen muy buena velocidad de lectura y escritura, y por otro lado, la compresión nos proporciona un buen ahorro de memoria.

Estos bloque de memoria comprimido se pueden utilizar para la swap, o como una memoria RAM de propósito general.El uso mas habitual que se le da, es precisamente como swap, para ampliar la cantidad de memoria RAM. De esta manera, se una parte de la RAM como memoria swap o memoria de intercambio. Ahora bien, al estar comprimida, con una relación de compresión que puede ser 3:1, implica que 1GB de swap utiliza solo 333MB de RAM

ZRAM es una característica del núcleo de Linux, disponible desde la versión 3.14 de Linux, que te permite utilizar una memoria virtual comprimida en la RAM. Se trata de un mecanismo que se utiliza en Android, Cyanogenmod, Chrome OS, Lubuntu, y otros proyectos.

Desde la versión 3.15 del núcleo Linux, zram, soporta compresión múltiple, así como la posibilidad de cambiar el algoritmo de compresión que se utiliza.

¿Como utilizar ZRAM?

Para habilitar el uso de zram en Ubuntu, y así acelerar Ubuntu en ordenadores antiguos con zram, ejecuta la siguiente orden en un emulador de terminal,

sudo apt install zram-config

Una vez ejecutada la orden indicada anteriormente, zram se inicia de inmediato, utilizando la mitad de la RAM que tienes instalada en tu equipo como área de intercambio SWAP. Para ver la cantidad de RAM utilizada por zram, ejecuta la siguiente orden,

cat /proc/swaps

Para personalizar la cantidad de RAM utilizada por zram, tienes que editar /usr/bin/init-zram-swapping y buscar la siguiente línea,

mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024))

Como puedes ver, la memoria, se calcula como la mitad del total de memoria RAM dividido por el número de núcleos. Así, se crearan tantos dispositivos zram como núcleos, uno por núcleo y la memoria se distribuirá de forma equitativa.

Evidentemente esta línea de código se puede modificar, adaptándola a nuestras propias necesidades.

Así, si ejecutamos la orden indicada anteriormente,

cat /proc/swaps

En el caso de tener una máquina con cuatro núcleos y 4 GB de RAM, obtendremos un resultado como el que ves a continuación,

Filename    Type        Size        Used    Priority
/dev/dm-0   partition   16337404    0       -1
/dev/zram0  partition   1009768     0       5
/dev/zram1  partition   1009768     0       5
/dev/zram2  partition   1009768     0       5
/dev/zram3  partition   1009768     0       5

Acelerar Ubuntu en ordenadores antiguos con zram. Terminal.

De forma que se crean cuatro dispositivos zram, uno por cada una de los núcleos del procesador. Para ver las características del equipo ejecutaremos la siguiente orden,

free -h

Esto arroja el siguiente resultado, antes de instalar zram,

Acelerar Ubuntu en ordenadores antiguos con zram. Memoria.

una vez zram ya está en funcionamiento, el resultado es el siguiente,

                total   used    free    shared  buff/cache  available
    Mem:        7,7G    1,0G    3,9G    309M    2,8G        6,2G
    Intercambio:  19G   0B      19G

Acelerar Ubuntu en ordenadores antiguos con zram. Memoria de intercambio.

Para verificar si zram está activo, tenemos que ejecutar la siguiente orden en un emulador de terminal,

dmesg | grep zram

Esto, arrojará un resultado como el que puedes ver a continuación,

[  831.832461] zram0: detected capacity change from 0 to 1034006528
[  831.836215] Adding 1009768k swap on /dev/zram0.  Priority:5 extents:1 across:1009768k SSFS
[  831.837119] zram1: detected capacity change from 0 to 1034006528
[  831.840903] Adding 1009768k swap on /dev/zram1.  Priority:5 extents:1 across:1009768k SSFS
[  831.841827] zram2: detected capacity change from 0 to 1034006528
[  831.845648] Adding 1009768k swap on /dev/zram2.  Priority:5 extents:1 across:1009768k SSFS
[  831.846567] zram3: detected capacity change from 0 to 1034006528
[  831.850122] Adding 1009768k swap on /dev/zram3.  Priority:5 extents:1 across:1009768k SSFS

Acelerar Ubuntu en ordenadores antiguos con zram. Resultado.

Una vez en funcionamiento, también tienes la posibilidad de habilitarlo o inhabilitarlo. Así, para habilitar zram, solo tienes que ejecutar la siguiente orden en el terminal,

sudo /usr/bin/init-zram-swapping

mientras que para detener zram, la orden a ejecutar es

sudo /usr/bin/end-zram-swapping

Conclusiones

Por supuesto con esta solución conseguirás acelerar Ubuntu en ordenadores antiguos, y no tan antiguos, pero hay otras ventajas. Por un lado, reduces el acceso a tu disco, con lo que se acelera el funcionamiento del mismo. Pero también al reducir el acceso al disco cuando utilizas zram en equipos con unidades SSD, aumentas la vida útil de este tipo de dispositivos, al reducir la escritura en el mismo.


Más información,