Ajustes para quem usa zRAM com ssd ou hdd
Já tem postagens aqui no blog sobre o uso da zRAM que é um recurso de usar a SWAP em um bloco comprimido na RAM da máquina para evitar ou diminuir a escrita em disco, onde discos rígidos podem deixar o sistema mais lento por usar SWAP em disco de forma recorrente. Se você tem uma máquina de pouca potência - algo como Celeron ou máquinas abaixo de i3 de 2ª geração, até 8GB de RAM e disco hdd - e não tem planos para um upgrade e fica sofrendo para usar o seu PC, talvez essa postagem lhe ajude. Mas em cima disso dou como sugestão inicial adquirir um ssd que vai melhorar em muito - mas muito mesmo - o desempenho geral.
Como eu disse, a zRAM é um recurso de SWAP que é alocado em um bloco comprimido "separado" na memória RAM e esse bloco, mesmo "reservado", só é usado em caso de necessidade. O próprio sistema se encarrega de compactar e descompactar os dados em tempo real de forma dinâmica frente às necessidades que o sistema precisa. A SWAP é uma partição ou arquivo que é usado quando o sistema começa a ficar sem memória RAM suficiente para gerir os recursos da máquina; quando se usa ssd a lentidão de acesso nem é tão sentida, o problema é quando se usa disco mecânico. Dependendo da quantidade de RAM e do que o usuário faz na máquina em relação aos programas abertos ao mesmo tempo, é possível ficar sem a SWAP em disco mas é primordial ter algum tipo de SWAP a não ser que a máquina tenha 32GB de RAM ou mais e o usuário não fique com vários programas abertos ou use programas que come toda a RAM do sistema. Levando em consideração o uso de uma máquina abaixo de um i3 de 2ª geração com 4GB de RAM e disco rígido (como a minha atual), vamos ver como implementar uma boa configuração sem usar SWAP em disco. Abra o Terminal e digite:
sudo apt install systemd-zram-generation
Depois:
sudo nano /etc/systemd/zram-generator.conf
Coloque dentro:
[zram0]
zram-size = ram / 2
compression-algorithm = zstd
swap-priority = 100
Ctrl+o para salvar e ctrl+x para fechar. depois disso:
sudo systemctl enable systemd-zram-setup@zram0.service
Reinicie a máquina. Se você tiver algum widget que mostre os recursos disponíveis da sua máquina, se você já tiver um swap em disco esse espaço deverá se juntar ao valor da zRAM configurado. A configuração acima vai usar a metade da sua RAM para o arquivo de troca (SWAP). Se achar muito, pode mudar para " ram / 4 " para usar 1/4 da RAM.
Para retardar o uso da SWAP em disco, no Terminal digite:
sudo nano /etc/fstab
Deve aparecer algo assim (é um exemplo) para SWAP em partição:
UUID=a1b2c3d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap defaults 0 0
Para SWAP em arquivo:
/swapfile none swap defaults 0 0
Identificado o tipo de SWAP, Na linha que aparecer o item "swap/swapfile" coloque a opção "pri=1" conforme exemplos abaixo:
UUID=a1b2c3d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap defaults,pri=1 0 0
/swapfile none swap defaults,pri=1 0 0
Essa configuração vai fazer com que a swap em disco apenas seja usada quando a zRAM estiver cheia. Posso mostrar como desativar a SWAP em disco mas isso pode, eventualmente, fazer com que o seu boot fique lento parando em um determinado ponto e mostrando posteriormente a mensagem de que o dispositivo não pode ser acessado já que a montagem da SWAP não depende exclusivamente do arquivo /etc/fstab. Se você quiser arriscar, basta colocar sem as aspas " # " na frente da linha referente à SWAP, salvar o arquivo e reiniciar a máquina. Veja que, tendo duas SWAPs (zRAM e a em disco) primeiro a zRAM vai ser usada e depois, caso seja necessário, a em disco devido às diferentes prioridades configuradas.
Pra finalizar, vamos adequar quando a SWAP vai ser usada.
Somente se usar zRAM
sudo nano /etc/sysctl.d/99-swap.conf
Coloque dentro essa única linha abaixo e salve o arquivo (ctrl+o e ctrl+x):
vm.swappiness = 150
Valores altos como 150 são recomendados para zRAM pura - sem SWAP em disco - no kernel moderno pois forçam o sistema a compactar a RAM antecipadamente sem lentidão de I/O).
Se usar zRAM + SWAP em disco:
vm.swappiness = 30
vm.dirty_ratio = 35
vm.dirty_background_ratio = 8
vm.dirty_expire_centisecs = 5000
vm.dirty_writeback_centisecs = 2500
vm.dirtytime_expire_seconds = 600
vm.vfs_cache_pressure = 100
Ctrl+o pra salvar e ctrl+x pra fechar e reinicie a máquina. Veja o comportamento da máquina frente às novas configurações. A opção mostrada em zRAM + SWAP em disco "vm.swappiness = 30" controla quando o kernel começará a usar a SWAP "dupla", sempre primeiro a zRAM e depois a em disco. Se você usar ssd não há muito com o que se preocupar, só atente caso você use disco rígido, pois os valores mostrados são para evitar ao máximo a escrita em disco justamente porque os hdds são lentos.

Nenhum comentário:
Postar um comentário