De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Aumentando o tamanho do swap file

Colaboração: Clovis F Reis

Recentemente necessitei rodar um processo que necessitava uma quantidade muito grande de memória, demandando 45GB enquanto o meu notebook só dispunha de 16GB.

A solução foi aumentar temporariamente o tamanho do arquivo de swap, de forma a conter todo este volume de dados.

Para tanto, modifiquei as configurações do zram (antigo compcache). Ele é um módulo de kernel do Linux que permite criar um dispositivo de bloco compactado na RAM, que pode ser usado como swap. Provavelmente o seu sistema já o utiliza.

Caso não esteja instalado ainda, instale os pacotes necessários. No caso do Fedora 33 são necessários os pacotes zram-generator e zram-generator-defaults. Procure na documentação da sua distribuição os pacotes correspondentes.

Caso ele já esteja instalado e operando, para ver a quantidade disponibilizada como cache pelo zram, digite:

$ zramctl
NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo-rle         4G   4K   74B   12K       8 [SWAP]

Por padrão, o Fedora cria um swap com 25% do valor da memória RAM disponível. Para alterar este número, crie um arquivo de configuração /etc/systemd/zram-generator.conf (o local exato pode variar para cada distribuição) e insira o seguinte conteúdo:

[zram0]
# Caso sua máquina possua mais que este total de memória, dado em MB, 
# o zram não criará o swap. O default é sem limite. 
#host-memory-limit = 9048

# Fração da memória RAM a ser utilizada como cache. Por exemplo, se a
# máquina possui 8GB de RAM e zram-fraction é 0.5, será criado um
# cache de 4GB. Este número pode ser maior que 1. Assim, na mesma
# máquina zram-fraction = 2.0 criará um cache de 16GB. O default é 0.5.
zram-fraction = 1 # cache de tamanho igual à memória RAM

# Tamanho máximo de zram a ser criada. Caso haja conflito entre max-zram-size 
# e zram-fraction, prevalecerá a menor quantidade. O default é 4096 
max-zram-size = 4096

# Algoritmo de compressão a ser utilizado. Deixe comentado para usar o kernel default.
#compression-algorithm = lzo-rle

Para mais detalhes veja a documentação do zram.

Para efetivar as alterações, você pode reiniciar a máquina ou executar

$ sudo systemctl restart swap-create@zram0.service 

E confirme as alterações com

$ zramctl 

Lembre-se, porém, que não há magia envolvida: o aumento do swap proporcionará uma área de troca maior, mas haverá um custo na performance do sistema, que será obrigado a executar mais operações de gravação e leitura em disco.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Clovis F Reis