Zram

Módulo Linux para RAM comprimida

Zram
Lanzamiento inicial30 de marzo de 2014 ; hace 10 años (Linux 3.14) ( 30-03-2014 )
Escrito endo
Sistema operativoLinux
TipoCaracterísticas del kernel de Linux
LicenciaLicencia Pública General GNU
Sitio webwww.kernel.org

zram , anteriormente llamado compcache , es un módulo del kernel de Linux para crear un dispositivo de bloque comprimido en la RAM, es decir, un disco RAM con compresión de disco sobre la marcha. El dispositivo de bloque creado con zram puede luego usarse para intercambio o como disco RAM de propósito general. Los dos usos más comunes para zram son para el almacenamiento de archivos temporales ( /tmp) y como dispositivo de intercambio. Inicialmente, zram solo tenía la última función, de ahí el nombre original "compcache" ("caché comprimido"). A diferencia del intercambio, zram solo usa el 0,1% del tamaño máximo del disco cuando no está en uso. [1]

Después de cuatro años en el área de pruebas de controladores del núcleo Linux, zram se introdujo en el núcleo principal de Linux en la versión 3.14, lanzada el 30 de marzo de 2014. [2] A partir de la versión 3.15 del núcleo Linux (lanzada el 8 de junio de 2014), zram admite múltiples flujos de compresión y múltiples algoritmos de compresión . Los algoritmos de compresión incluyen DEFLATE ( DEFLATE), LZ4 ( LZ4, y LZ4HC"alta compresión"), LZO ( LZO-RLE"codificación de longitud de ejecución"), [3] Zstandard ( ZSTD), 842 ( 842). A partir del núcleo 5.1, el valor predeterminado es LZO-RLE, [3] que tiene un equilibrio de velocidad y relación de compresión. Como la mayoría de los demás parámetros del sistema, el algoritmo de compresión se puede seleccionar a través de sysfs . [4]

Cuando se utiliza como un espacio de intercambio comprimido, zram es similar a zswap , que no es un disco RAM de propósito general, sino más bien un caché comprimido dentro del núcleo para páginas de intercambio. Hasta la introducción de CONFIG_ZRAM_WRITEBACKen la versión 4.14 del núcleo, a diferencia de zswap, zram no podía usar un dispositivo de almacenamiento como almacenamiento de respaldo, por lo que no podía mover páginas usadas con menos frecuencia al disco. Sin embargo, zswap siempre requiere un almacenamiento de respaldo, lo que no es el caso de zram.

Cuando se utiliza para el intercambio, zram (como zswap) permite a Linux hacer un uso más eficiente de la RAM, ya que el sistema operativo puede entonces almacenar más páginas de memoria en el intercambio comprimido que si se hubiera utilizado la misma cantidad de RAM como memoria de aplicación o caché de disco. Esto es particularmente efectivo en máquinas que no tienen mucha memoria. [5] [6] En 2012, Ubuntu consideró brevemente habilitar zram de forma predeterminada en computadoras con pequeñas cantidades de RAM instalada. [7] Por esta misma razón, Fedora habilitó zram de forma predeterminada a partir de la versión 33. [8]

El uso de espacio de intercambio comprimido con zram o zswap también ofrece ventajas para dispositivos de hardware de gama baja, como dispositivos integrados y netbooks . Estos dispositivos suelen utilizar almacenamiento basado en flash , que tiene una vida útil limitada debido a la amplificación de escritura , y también pueden usarlo para proporcionar espacio de intercambio . El uso de zram o zswap reduce el uso de espacio de intercambio, lo que reduce efectivamente la cantidad de desgaste que se produce en el almacenamiento basado en flash y hace que dure más. El uso de zram también da como resultado una E/S significativamente reducida para sistemas Linux que requieren intercambio. [9] [10]

Véase también

Referencias

  1. ^ "zram: dispositivos de bloque basados ​​en RAM comprimida — La documentación del kernel de Linux". docs.kernel.org . Consultado el 25 de febrero de 2024 .
  2. ^ "Kernel Linux 3.14, Sección 1.2. zram: Mecanismo de compresión de memoria considerado estable". kernelnewbies.org . 30 de marzo de 2014 . Consultado el 1 de abril de 2014 .
  3. ^ ab "ZRAM tendrá un mayor rendimiento en Linux 5.1 - Cambió su compresor predeterminado - Phoronix". www.phoronix.com .
  4. ^ "Núcleo Linux 3.15, Sección 1.7. zram: compatibilidad con compresión LZ4, rendimiento mejorado". kernelnewbies.org . 8 de junio de 2014 . Consultado el 15 de junio de 2014 .
  5. ^ "Mejora del rendimiento en Linux con zram (swap virtual comprimido en ram)". webupd8.org . 2 de octubre de 2011 . Consultado el 8 de noviembre de 2011 .
  6. ^ "compcache Compressed Caching for Linux" (Almacenamiento en caché comprimido de compcache para Linux). code.google.com . 27 de abril de 2010. Consultado el 11 de noviembre de 2011 .
  7. ^ Dinsan, Francis (8 de diciembre de 2012). "Ubuntu Linux considera un mayor uso de zRAM" . Consultado el 30 de octubre de 2013 .
  8. ^ "Fedora 33 busca usar el intercambio en zRAM de forma predeterminada con el generador zram de systemd - Phoronix". www.phoronix.com . Consultado el 29 de marzo de 2021 .
  9. ^ "ZRAM podría finalmente ser sacado del staging de Linux". Phoronix . 14 de agosto de 2013 . Consultado el 9 de febrero de 2014 .
  10. ^ "zRAM sigue esperando un ascenso". Phoronix . 25 de noviembre de 2013 . Consultado el 9 de febrero de 2014 .
  • Documentación del kernel de Linux zram y página del manual zramctl(8)
  • Compcache, almacenamiento en caché comprimido para Linux
  • Compcache: intercambio comprimido en memoria, 26 de mayo de 2009, LWN.net, por Nitin Gupta
  • Compresión de memoria en el núcleo, 3 de abril de 2013, LWN.net, por Dan Magenheimer
  • La memoria caché de compresión: compresión de memoria virtual para ordenadores portátiles, 16 de marzo de 2000, por Michael J. Freedman
Obtenido de "https://es.wikipedia.org/w/index.php?title=Zram&oldid=1214095931"