Ir al contenidoIr a la navegación de la página: página anterior [tecla de acceso p]/página siguiente [tecla de acceso n]
documentation.suse.com / Instalación, configuración y gestión de zram en SUSE Linux Micro

Instalación, configuración y gestión de zram en SUSE Linux Micro

Fecha de publicación: 20 Mar 2025
DESCRIPCIÓN

zram es un módulo del kernel que crea un dispositivo de bloques comprimido en la RAM.

INTENCIÓN

En este artículo se describe cómo instalar y configurar zram en SUSE Linux Micro.

ESFUERZO

Se tardan aproximadamente 15 minutos en leer el artículo.

OBJETIVO

Tendrá dispositivos de bloques configurados en RAM.

REQUISITOS

Una instancia en ejecución y registrada de SUSE Linux Micro

1 ¿Qué es zram?

zram es un módulo del kernel que crea un dispositivo de bloques comprimido en la RAM. El dispositivo de bloques se puede utilizar como disco RAM (normalmente para almacenar archivos temporales) o como espacio de intercambio.

1.1 Ventajas de zram

Usar zram puede presentar las siguientes ventajas:

  • Operaciones de E/S rápidas: debido a la naturaleza basada en RAM de zram, los dispositivos de bloques proporcionan un acceso muy rápido a los datos.

  • Ahorro de memoria: ya que los datos se comprimen con zram, se puede ahorrar una cantidad de memoria importante. Por lo tanto, zram utiliza la memoria RAM de forma eficaz y es especialmente adecuado en entornos con un tamaño de RAM reducido, por ejemplo, en sistemas integrados.

  • Sistema de archivos en el dispositivo de bloques: puede crear sistemas de archivos en los dispositivos de bloques.

1.2 Limitaciones de zram

No se admite la hibernación en el espacio de intercambio de zram aunque se configure un dispositivo de respaldo en almacenamiento permanente.

2 Configuración de zram

Para configurar correctamente zram en el sistema, realice los siguientes pasos. Los detalles se proporcionan en las secciones siguientes.

  1. Instale la utilidad zram-generator, que crea el dispositivo de bloque RAM según la configuración proporcionada. Para obtener más información, consulte la Sección 2.1, “Instalación de paquetes de zram”.

  2. Prepare la configuración como se describe en la Sección 2.2, “Configuración necesaria para zram”.

  3. Ejecute comandos para crear nuevas unidades de dispositivo como se describe en la Sección 2.3, “Creación de unidades de dispositivo”.

  4. Rearranque el equipo.

  5. Verifique que todo funciona correctamente. Ejecute el comando zramctl, que debe producir un resultado similar al siguiente:

    > sudozramctl
    
    NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
    /dev/zram1 lzo-rle      96.6M   4K   79B   12K       1 [SWAP]
    /dev/zram0 lzo-rle       483M   4K   79B   12K       1 [SWAP]

2.1 Instalación de paquetes de zram

El paquete zram-generator no está disponible por defecto en SUSE Linux Micro. Instale el paquete de la siguiente manera:

        > 
        sudo
        transactional-update pkg install zram-generator

Después de una instalación correcta, rearranque el sistema.

2.2 Configuración necesaria para zram

El archivo de configuración principal de zram es /etc/systemd/zram-generator.conf. Sin embargo, puede crear un directorio /etc/systemd/zram-generator.conf.d/ con un conjunto de archivos de inserción que pueden anular las entradas del archivo de configuración principal.

2.2.1 El archivo /etc/systemd/zram-generator.conf

El archivo no se instala junto con el paquete zram-generator, por lo que debe escribir el suyo propio. Las opciones que se deben añadir se describen a continuación. Puede verse un ejemplo en la Sección 2.2.1.1, “Ejemplo de /etc/systemd/zram-generator.conf.

Defina al menos un dispositivo zram. La numeración comienza en 0, por lo que para definir un dispositivo zram, añada una sección [zram0] al archivo de configuración.

Puede definir las siguientes entradas en la sección de dispositivos zram:

host-memory-limit

Especifique el tamaño máximo de RAM del host en MiB cuando se pueda crear un dispositivo de bloques. Si el valor es mayor, no se creará el dispositivo zram. Si no se define, o si se define como none, no hay límite para la RAM del host.

zram-size

Especifique el tamaño del dispositivo zram en comparación con la RAM del host. El valor por defecto es zram-size = min(ram / 10, RAM_HARD_LIMIT). Es el valor mínimo de los dos, donde ram es el tamaño de RAM del host obtenido mediante MemTotal.

  • ram es la cantidad total de memoria del host en MB.

  • ram/10 es la proporción de memoria de host total que se puede utilizar para zram. Según el ejemplo, zram puede utilizar el 10 % de la memoria total del host. Se recomienda usar fracciones de la RAM del host en el rango del 10 % al 50 %.

  • RAM_HARD_LIMIT es la cantidad máxima de RAM en MB que puede utilizar zram.

  • min() es una función que compara el valor de RAM_HARD_LIMIT y la relación calculada y selecciona la más baja.

compression-algorithm

Especifique el algoritmo utilizado para comprimir los datos en zram. Puede utilizar cualquiera de los valores siguientes:

  • deflate: un formato de archivo de compresión de datos sin pérdidas

  • lz4 o lz4hc: un algoritmo de compresión de datos sin pérdidas que se centra en la velocidad de compresión y descompresión

  • lzo-rle: un algoritmo de compresión de datos sin pérdidas que se centra en la velocidad de descompresión

  • zstd, también conocido como Zstandard: un algoritmo de compresión de datos sin pérdidas comparable a DEFLATE en relación de compresión, pero más rápido durante la descompresión

  • 842: un algoritmo de compresión de datos

Si se omite, se utiliza el valor por defecto del kernel (normalmente, LZO-RLE).

options

Especifique las opciones del espacio de intercambio o montaje de un disco RAM. Si se define discard o se omite, las páginas comprimidas no utilizadas se recortan durante la ejecución del sistema. Esta solución proporciona una gestión eficaz de zram. Para anular el valor por defecto (discard), deje el valor vacío:

options =
writeback-device

Especifique un dispositivo donde almacenar las páginas no comprimibles. Estas páginas se eliminan de zram.

fs-type

Si el dispositivo se utiliza como disco, especifique el sistema de archivos que se utilizará. Por ejemplo, ext4.

mount-point

Especifique un directorio donde montar el sistema de archivos. Esta opción no se utiliza cuando el dispositivo zram se emplea como espacio de intercambio.

2.2.1.1 Ejemplo de /etc/systemd/zram-generator.conf

En el siguiente ejemplo se crean dos dispositivos de bloques en la RAM: zram0 para el espacio de intercambio y zram1 con el sistema de archivos ext4. Si el equipo tiene más de 9 GB de RAM, zram0 no se creará. Cada dispositivo de bloques asignará hasta 2 GB de RAM.

[zram0]
host-memory-limit = 9048      
zram-size = min(ram / 10, 2048)    
compression-algorithm = lzo-rle    
options = discard      
writeback-device = /dev/zvol/tarta-zoot/swap-writeback
    
[zram1]      
zram-size = ram / 10
fs-type = ext4
mount-point = /run/compressed-mount-point

2.3 Creación de unidades de dispositivo

Después de preparar la configuración, cree e inicie los dispositivos. Para ello, siga el procedimiento que se indica a continuación:

  1. Cree las unidades de dispositivo zram ejecutando el comando:

                > 
                sudo
                systemctl daemon-reload
  2. Inicie el dispositivo:

    > sudosystemctl start DEVICE_NAMEDEVICE_NAME is the name you configured in
    /etc/systemd/zram-generator.conf and it is in the format /dev/zramN
  3. Para verificar que los módulos se han iniciado, ejecute el siguiente comando para cada dispositivo:

                > 
                sudo
                systemctl status DEVICE_NAME