ZRAM es un tipo de memoria virtual que se simula en la memoria RAM y a la que se aplica un algoritmo de compresión/descompresión de lo que contiene. Generalmente se toma la mitad de la memoria RAM Principal para lograr funcionar. Disminuye velocidad de lectura/escritura, ya que, la memoria RAM no requiere protocolos para tener acceso que se usaría en una unidad de almacenamiento. Sin embargo, aclaramos que, en la memoria RAM no se ejecuta programas, solo contiene los códigos de máquina del procesador que conforma el programa y los datos que debe procesar el procesador. Esa es la función real de una memoria RAM.
Aunque ZRAM ayuda mucho a los procesos de la memoria virtual hay varias cosas que no lo hacen ideal para su uso en Linux. El uso de ZRAM es muy ágil, no lo niego a nadie, solo que es un absurdo su uso. La idea detrás de la memoria virtual es apoyar a la memoria RAM Principal en funciones multitarea, que van ocupando más y más espacio. Si enfocamos la ZRAM en la memoria RAM Principal con el tiempo, el equipo queda sin memoria RAM para trabajar y al tratar de entrar más memoria para la función multitarea y no tener un respaldo en una unidad de almacenamiento, el sistema se bloquea.
Unix e Intel hicieron que la multitarea mantuviera la estabilidad de los programas en funciones multitarea (Multitask como también se le llama) y para evitar que el sistema se quedara paralizado, la unidad de almacenamiento mantendrían los códigos de instrucción y los datos como si fuera memoria RAM Principal. En Unix se llama Swap o área de intercambio y funciona en colaboración con el programa RAM Protegida. Esa misma función la tiene Linux, solo que aquí puedes decirle al sistema en que momento usar la memoria virtual. Esta es una memoria virtual real.
Ese es el otro problema con ZRAM, la simulación de memoria Virtual. Al usar algoritmos para comprimir/descomprimir usa funciones de punto flotante y Cálculo matemático, los cuales, consumen Memoria RAM y procesos que pueden ser útiles en otras áreas. Además, al estar enfocada en la memoria RAM, ZRAM tiene limitaciones muy grandes cuando se está trabajando, pues con el tiempo, se queda sin memoria RAM y el sistema se bloquea volviéndolo inestable a Linux.
La otra que se presenta con ZRAM, es que, si compraste un equipo de cómputo con 32 Gigas de RAM, al ponerle ZRAM, te quedan 16 Gigas para trabajar y 16 Gigas para ZRAM, que adenás de ese espacio, está comprimido lo que esté allí, por lo que el algoritmo que le indica al procesador que hacer con eso del ZRAM ocupa espacio en la RAM Principal que queda. Las operaciones de punto flotante y cálculo usadas también necesita RAM Principal. Por lo que, la capacidad de trabajar que una persona adquiere al comprar un equipo con toda esa RAm, queda desperdiciada por la limitante que coloca ZRAM. Por lo que resulta ser un absurdo porque no aporta una verdadera ayuda a la RAM que si reporta un Swap en Linux y en Unix.
Es por ello que, nosotros no le colocamos ZRAM a ninguno de nuestros equipos que entregamos al público. Más bien, salen configurado con un espacio SWAP configurado en una partición aparte dentro de una única unidad, con el fin de dar la ayuda que la RAM Principal necesita en el momento en que lo necesita. Como mencionamos en otro artículo aquí mismo, las unidades de almacenamiento son mucho más grandes que la memoria RAM, el uso de Swap evita que el sistema sea inestable y ayuda a mantener funcionando los programas y archivos que estás manejando. Nosotros no aconsejamos el uso de ZRAM bao ninguna circunstancia, ya que, el sistema operativo queda con lo que necesita para trabajar en multitarea. La cantidad de RAM Pricipal de tu equipo permite trabajar en multitarea y a medida que abras programas y archivos, menos RAM te queda y es ahí en donde es útil el Swap. Por esa razón no la aconsejamos para ningún tipo de tareas ZRAM, se sale de toda lógica su uso.