Cleancache vs Zram?


9

Tengo una computadora portátil vieja aquí con solo 512 MB de RAM. Desde algunas versiones del kernel, estoy usando zram para convertir 256 MB de él en un disco RAM comprimido que luego se usa como intercambio. Esto ha demostrado ser muy exitoso y el sistema es mucho más receptivo, el uso de intercambio (con respaldo de disco duro) se ha reducido considerablemente, lo que ralentizó el sistema antes.

Desde linux 3.0, el núcleo también incluye cleancache que, usando algo como zram como backend, se supone que comprime las páginas de la caché de forma transparente. Por lo que puedo ver, esto es diferente de zram .

¿Debo habilitar ambos en mi computadora portátil? ¿O cleancache realmente reemplaza la solución zram ?

Editar: He encontrado este enlace al foro de gentoo , donde parece que también tengo que habilitarlo, lo CONFIG_ZCACHEque hace que cleancache use zram para obtener algo similar a lo que tenía antes. Entonces parece que habilito todo esto y no uso zram explícitamente después. ¿Alguien puede confirmar esto?

Respuestas:


9

Zram crea un dispositivo de bloque respaldado por ram comprimido. Puede usar ese dispositivo de bloqueo para el intercambio. Normalmente, la presión de la memoria primero da como resultado que se descarte la memoria caché, y solo después de que la mayor parte de la memoria caché se haya liberado y la memoria aún esté escasa, el sistema comenzará a intercambiarse.

CleanCache permite que las páginas de la caché de la página se migren a un back-end, como xen tmem, que es la memoria administrada por el hipervisor y compartida entre múltiples invitados de VM. El objetivo de esto es permitir que varios invitados de VM almacenen en caché los mismos datos utilizando el mismo ram, en lugar de que cada uno tenga su propia caché con su propia copia de los mismos datos.

ZCache es otro back-end de CleanCache. En lugar de pasar la memoria al hipervisor para que se mantenga (lo que solo se aplica si está utilizando un entorno Xen VM), almacena las páginas de caché comprimidas en RAM, similar a Zram. La diferencia es que ZCache almacena de forma transparente las páginas de caché, pero Zram crea un dispositivo de bloque que puede usar para el intercambio.

Si tiene aplicaciones que requieren mucha memoria, necesitará espacio de intercambio para admitirlas, por lo que aún querrá usar zram (probablemente con un valor de intercambio muy alto). Esto se debe a que CleanCache solo comprime las páginas de caché; la memoria de la aplicación debe enviarse para intercambiar. Si no está utilizando toda su memoria en las aplicaciones, puede usar CleanCache con el backend de ZCache para hacer un uso más efectivo de la memoria restante para el almacenamiento en caché del disco al comprimir el caché del disco. Incluso podría usar una combinación de las dos técnicas.


OK, gracias, así que las páginas de caché son solo para el almacenamiento en caché de disco, no para la memoria de la aplicación. Esto no fue claro para mí.
lytenyn

7

Como complemento a la respuesta anterior, consulte también https://lwn.net/Articles/454795 para obtener una explicación detallada de la tecnología.

Por lo que entiendo, zram será reemplazado por frontswap , que aún no está en el núcleo de la línea principal pero que tiene la ventaja de que no se debe configurar un tamaño de intercambio fijo. Esto facilitará la activación de cleancache y frontswap (en lugar de zram y cleancache , donde la memoria utilizada para zram no se puede utilizar para cleancache ).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.