Saltar al contenido

Zram, Zcache y Zswap: ¿cuál es mejor para ti?

Si usa Linux, puede multiplicar su memoria disponible sin tener que comprar nuevos módulos de memoria. Con Zram, zswap y zcache puedes comprimir y expandir prácticamente el contenido de la RAM de tu PC. ¿Pero cuál deberías usar? ¿Cuál es mejor? Siga leyendo para averiguarlo.

Los beneficios de la compresión RAM

Si ha visto una presentación sobre las consolas de próxima generación de Sony y Microsoft, es posible que haya notado que ambas compañías hicieron un gran escándalo por la velocidad de su almacenamiento. Hay una razón para esto: incluso en las últimas PC de gama alta, la memoria es el mayor cuello de botella.

El objetivo final de las soluciones presentadas aquí es minimizar la cantidad de datos que se intercambian entre la memoria de nuestra computadora y sus sistemas de almacenamiento más lentos. Esto es importante porque, como veremos, este es su factor diferencial.

ZRam

Zram es la solución de compresión de RAM más simple en Linux en la actualidad. Anteriormente conocido como Compcache, aprovecha el soporte de Linux para múltiples dispositivos de intercambio creando uno adicional (o más) en la RAM de la computadora.

Zram funciona creando una jerarquía de tres áreas de almacenamiento. Crea un nuevo volumen de intercambio comprimido en la RAM que se coloca, jerárquicamente, entre la RAM y los dispositivos de almacenamiento. Luego, cuando la RAM está llena de datos, mueve el exceso al intercambio comprimido. Cuando también está lleno, zram comienza a mover datos a la partición de intercambio en la unidad de almacenamiento.

Este nuevo dispositivo de intercambio tiene una prioridad más alta que los que se encuentran en la memoria real más lenta de la PC y se utilizan antes. También se basa en uno de varios algoritmos de compresión como LZ4 o LZO para meter la mayor cantidad de datos posible en este dispositivo de intercambio.

Los procesadores modernos han llegado a un punto en el que pueden comprimir y descomprimir los datos almacenados en la RAM más rápido de lo que podrían escribirse o leerse desde una unidad SSD o HDD, con un impacto insignificante en el rendimiento de la computadora.

Vale la pena señalar que Zram funciona por sí solo y no se requieren otros dispositivos de intercambio. Por ejemplo, puede usarlo en sistemas integrados o CD en vivo, ya que no necesita una copia de seguridad del almacenamiento real.

ZSwap

Zswap es más complicado que Zram. Mejora la relación entre la memoria de nuestra computadora y sus dispositivos de almacenamiento más lentos al agregar compresión inteligente en las intersecciones.

Con zswap, la RAM comprimida y los volúmenes de intercambio que ya están presentes en los dispositivos de almacenamiento de una computadora se tratan como nodos en un sistema de almacenamiento inteligente. Zswap también ocupa parte de la memoria de una computadora, pero no mueve ciegamente nada que no quepa en el resto de la memoria y trata de comprimirlo. En cambio, primero comprime todo lo que no cabe en la memoria real. Cuando los datos están comprimidos, zswap los almacena en la RAM. Si este no es el caso, se guardará en el intercambio existente.

Relacionado : Cómo agregar Google DNS en tu iPhone

De esta forma, zswap aprovecha mejor la memoria principal disponible y la memoria swap, ya que no ocupa, por ejemplo, la memoria principal utilizada con datos incompresibles.

Dado que se basa en el intercambio existente, zswap es más adecuado para instalaciones de Linux en cualquier PC, especialmente aquellas con menos de 4 GB de RAM.

Zcache

Zcache trabaja con el sistema tmem (“Memoria trascendente”) para darle al kernel de Linux una forma más versátil de almacenar datos que no se utilizan actualmente.

Zcache agrega una capa adicional de administración de espacio transparente al kernel que comprime cualquier dato que no esté actualmente en uso. A diferencia de tener que administrar cada byte de datos, el kernel de Linux con zcache puede almacenar páginas de datos completas en “grupos” a través de la interfaz tmem. Luego, el backend de zcache comprime estos grupos de datos.

Al igual que zswap, zcache solo mantiene los datos comprimidos en la RAM y empuja las páginas sin comprimir al intercambio real, haciendo un uso óptimo de ambos.

¿Cuál es mejor?

En teoría, zcache es la mejor solución. Sin embargo, esto no significa que este sea el camino a seguir, ya que la practicidad también es importante. A pesar de sus funciones avanzadas, zcache no es compatible en gran medida. Su desarrollo se estancó y se eliminó del kernel de Linux en la versión 3.11. Para usarlo hoy, debe pasar por aros y el resultado probablemente no sea mucho mejor que usar zswap.

Por otro lado, Zram es más limitado ya que es poco más que un volumen virtual que se almacena en la RAM y se usa como espacio de intercambio. Puede ayudar con los sistemas vinculados a la RAM, pero funciona básicamente tomando cosas a ciegas del punto A y moviéndolas al punto B y luego al punto C sin preocuparse por lo que realmente son.

Esto hace que zswap sea una mejor opción para la mayoría de los usuarios de Linux, independientemente de su distribución. Para ver cómo puede beneficiarse de esto, consulte nuestra guía de zswap.