Instalação, configuração e gerenciamento do zram no SUSE Linux Micro
- O QUE É?
O zram é um módulo do kernel que cria um dispositivo de blocos compactado em RAM.
- POR QUÊ?
O artigo descreve como instalar e configurar o zram no SUSE Linux Micro.
- DEDICAÇÃO
A leitura do artigo leva aproximadamente 15 minutos.
- META
Você terá dispositivos de blocos configurados em RAM.
- REQUISITOS
Uma instância registrada em execução do SUSE Linux Micro.
1 O que é zram? #
O zram é um módulo do kernel que cria um dispositivo de blocos compactado em RAM. É possível usar o dispositivo de blocos como um disco de RAM (geralmente para armazenar arquivos temporários) ou para troca.
1.1 Benefícios do zram #
O uso do zram pode ter os seguintes benefícios:
Operações de E/S rápidas: devido à natureza baseada em RAM do zram, os dispositivos de blocos concedem acesso muito rápido aos dados.
Economia de memória: como os dados são compactados usando zram, é possível economizar uma boa quantidade de memória. Portanto, o zram usa a RAM com eficiência e é especificamente adequado a ambientes com tamanho de RAM baixo, por exemplo, sistemas incorporados.
Sistema de arquivos no dispositivo de blocos: você pode criar sistemas de arquivos nos dispositivos de blocos.
1.2 Limitações do zram #
A hibernação para troca do zram não é suportada, mesmo que você configure um dispositivo de apoio no armazenamento permanente.
2 Configurando o zram #
Para configurar o zram apropriadamente no sistema, execute as etapas a seguir. Os detalhes são apresentados nas demais seções.
Instale o utilitário
zram-generator
, que cria o dispositivo de blocos de RAM de acordo com a configuração especificada. Para obter detalhes sobre a instalação, consulte a Seção 2.1, “Instalando pacotes do zram”.Prepare a configuração conforme descrito na Seção 2.2, “Configuração necessária para o zram”.
Execute comandos para criar novas unidades de dispositivo conforme descrito na Seção 2.3, “Criando unidades de dispositivo”.
Reinicialize sua máquina.
Verifique se tudo funciona corretamente. Execute o comando
zramctl
, que deve produzir uma saída semelhante à seguinte:>
sudo
zramctl
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 Instalando pacotes do zram #
Por padrão, o pacote zram-generator
não está disponível no SUSE Linux Micro. Instale o pacote da seguinte maneira:
>
sudo
transactional-update pkg install zram-generator
Após a instalação bem-sucedida, reinicialize o sistema.
2.2 Configuração necessária para o zram #
O arquivo de configuração principal do zram é /etc/systemd/zram-generator.conf
. No entanto, você pode criar um diretório /etc/systemd/zram-generator.conf.d/
com um conjunto de arquivos drop-in que podem anular as entradas no arquivo de configuração principal.
2.2.1 O arquivo /etc/systemd/zram-generator.conf
#
O arquivo não é instalado junto com o pacote zram-generator
, portanto, você precisa gravar seu próprio arquivo. As opções a serem adicionadas estão descritas abaixo. A Seção 2.2.1.1, “Um exemplo de /etc/systemd/zram-generator.conf
” inclui um exemplo.
Defina pelo menos um dispositivo zram. A numeração começa em 0, portanto, para definir um dispositivo zram, adicione uma seção [zram0]
ao arquivo de configuração.
Você pode definir as seguintes entradas na seção do dispositivo zram:
- host-memory-limit
Especifique o tamanho máximo da RAM do host em MiB quando um dispositivo de blocos puder ser criado. Se o valor for maior, o dispositivo zram não será criado. Se não for definido ou se for definido como
none
, não haverá limite para a RAM do host.- zram-size
Especifique o tamanho do dispositivo zram em comparação com a RAM do host. O valor padrão é
zram-size = min(ram / 10, RAM_HARD_LIMIT)
. Esse valor é um mínimo de cada, em queram
é o tamanho da RAM do host obtido pelo comandoMemTotal
.ram
é a quantidade total de memória do host em MB.ram/10
é a taxa de memória total do host que pode ser usada para o zram. De acordo com o exemplo, o zram pode usar 10% da memória total do host. Recomendamos frações da RAM do host na faixa de 10 a 50%.RAM_HARD_LIMIT é a quantidade máxima de RAM em MB que pode ser usada pelo zram.
min()
é uma função que compara o valor de RAM_HARD_LIMIT e da taxa calculada e seleciona o menor.
- compression-algorithm
Especifique o algoritmo usado para compactar os dados no zram. Você pode usar qualquer um destes valores:
deflate
: um formato de arquivo de compactação de dados sem perdaslz4
oulz4hc
: um algoritmo de compactação de dados sem perdas que se concentra na velocidade de compactação e descompactaçãolzo-rle
: um algoritmo de compactação de dados sem perdas que se concentra na velocidade de descompactaçãozstd
, também conhecido como Zstandard: um algoritmo de compactação de dados sem perdas comparável ao DEFLATE com em relação à taxa de compactação, porém mais rápido durante a descompactação842
: um algoritmo de compactação de dados
Se omitido, o padrão do kernel será usado (geralmente LZO-RLE).
- options
Especifique opções de troca ou montagem para um disco de RAM. Se definido como
discard
ou omitido, as páginas compactadas não usadas serão cortadas durante a execução do sistema. Essa solução oferece um gerenciamento eficiente do zram. Para anular o padrão (discard
), deixe o valor vazio:options =
- writeback-device
Especifique um dispositivo no qual armazenar páginas incompressíveis. Essas páginas serão removidas do zram.
- fs-type
Se o dispositivo for usado como um disco, especifique o sistema de arquivos que será usado nele. Por exemplo,
ext4
.- mount-point
Especifique um diretório no qual montar o sistema de arquivos. Essa opção não é usada quando o dispositivo zram é usado para troca.
2.2.1.1 Um exemplo de /etc/systemd/zram-generator.conf
#
O exemplo a seguir cria dois dispositivos de blocos em RAM: zram0
para troca e zram1
com o sistema de arquivos ext4. Se a máquina tiver mais de 9 GB de RAM, o zram0
não será criado. Cada dispositivo de blocos alocará até 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 Criando unidades de dispositivo #
Após preparar a configuração, crie e inicie os dispositivos. Para fazer isso, consulte o seguinte procedimento:
Crie as unidades de dispositivo zram executando o comando:
>
sudo
systemctl daemon-reload
Inicie o dispositivo:
>
sudo
systemctl start DEVICE_NAME
DEVICE_NAME is the name you configured in/etc/systemd/zram-generator.conf
and it is in the format/dev/zramN
Para verificar se os módulos foram iniciados, execute o seguinte comando para cada dispositivo:
>
sudo
systemctl status DEVICE_NAME
3 Informações legais #
Copyright © 2006-2025 SUSE LLC e colaboradores. Todos os direitos reservados.
Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença GNU de Documentação Livre, Versão 1.2 ou (por sua opção) versão 1.3; com a Seção Invariante sendo estas informações de copyright e a licença. Uma cópia da versão 1.2 da licença está incluída na seção intitulada “GNU Free Documentation License” (Licença GNU de Documentação Livre).
Para ver as marcas registradas da SUSE, visite https://www.suse.com/company/legal/. Todas as marcas comerciais de terceiros pertencem a seus respectivos proprietários. Os símbolos de marca registrada (®, ™ etc.) indicam marcas registradas da SUSE e de suas afiliadas. Os asteriscos (*) indicam marcas registradas de terceiros.
Todas as informações deste manual foram compiladas com a maior atenção possível aos detalhes. Entretanto, isso não garante uma precisão absoluta. A SUSE LLC, suas afiliadas, os autores ou tradutores não serão responsáveis por possíveis erros nem pelas consequências resultantes de tais erros.