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.
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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários