Use Zswap para melhorar o desempenho no PC Linux com pouca quantidade de RAM

Utilizați Zswap pentru a îmbunătăți performanța pe computerul Linux cu cantități mici de RAM
⌛ Reading Time: 6 minutes

Vamos enfrentá-lo, alguns de nós não atualizam com frequência. Ou, pelo menos, como usuários do Linux, gostamos de reutilizar nossos laptops / computadores mais antigos. Muitas distribuições rodam confortavelmente em sistemas com pouca quantidade de RAM (Random Access Memory). Os navegadores, entretanto, não perdoam, exigindo cada vez mais memória conforme a Internet evolui.

Embora um sistema com o ambiente de desktop LXDE possa ocupar até 150 MB de RAM após a inicialização, o Chromium, Chrome ou Firefox consumirá rapidamente centenas de megabytes e até mesmo vários gigabytes de RAM conforme abrimos algumas guias.

E é aí que acontece! O disco rígido começa a fazer aquele som de trituração. A música começa a gaguejar. Quando mudamos para outro aplicativo, leva dezenas de segundos até que ele apareça na tela. Até o cursor do mouse pode começar a ficar lento. Este é o efeito da fragmentação do disco.

O que é Disk Thrashing?

Primeiro, precisamos entender a troca. Quando ficamos sem RAM livre, os dados do aplicativo que o sistema operacional não acessava por um longo tempo são movidos para a área de troca. Geralmente, isso ocorre em um dispositivo de armazenamento físico. Ao fazer isso, o sistema operacional pode liberar algum espaço de memória de que um programa precisa agora. Desta forma, uma guia em nosso navegador que não acessamos na última hora pode ser trocada para o disco rígido. Agora o editor de imagens GIMP pode ser executado. Quando o fechamos e voltamos para a guia antiga, o sistema operacional o troca de volta para a memória (lê-o do disco e copia-o de volta para a memória de acesso aleatório).

Esse mecanismo funciona bem ao trocar pequenas quantidades de dados. Mas quando, digamos, apenas 2 GB de RAM estão disponíveis e todos os programas que temos abertos precisam de 4 GB, o sistema operacional tem que trocar constantemente. Mover dados da memória para o disco, de disco para memória e vice-versa, constantemente, é muito lento, especialmente com discos rígidos. Em tal situação, o dispositivo de armazenamento é incapaz de atender às solicitações com rapidez suficiente. Resumindo, quando ocorre a fragmentação do disco, as coisas ficam muito lentas.

Unidades SSD são ótimas para troca

Ainda existe um mito circulando na Internet: “Nunca configure swap em SSD. Isso vai matar o seu dispositivo! ” Isso era verdade há alguns anos, mas não é mais. Na verdade, configurar a troca em uma unidade SSD leva a ótimos resultados. Se o computador incluir um dispositivo SSD com bom desempenho de leitura / gravação aleatória (pelo menos 300 MB), configure uma partição de troca nele e ignore o restante deste artigo. Quando o sistema operacional precisa trocar 1 GB de dados, isso leva menos de cinco segundos, enquanto em um disco rígido leva mais de um minuto.

Como reduzir significativamente a sobrecarga de disco no Linux

zswap-meme-compress-ram

Felizmente, a maioria dos dados armazenados na RAM são muito compactáveis. Isso significa que se pegarmos 200 MB de dados armazenados na memória e compactá-los, podemos reduzir o tamanho para 100 MB. Conseqüentemente, isso significa que o sistema terá que gravar muito menos dados no disco durante a troca.

Imagine que, em vez de esperar trinta segundos para mudar para um programa, você tenha que esperar quinze. É uma melhora palpável. Mas, na verdade, a aceleração é muito mais significativa (pode ter que esperar menos de dez segundos) porque a ferramenta que usaremos é mais sofisticada do que isso. Ele envia de forma inteligente para o disco apenas os bits e peças que não podem ser compactados, mantendo o restante em uma porção reservada da memória. Se você quiser ler mais sobre seus internos, confira o página oficial do kernel Linux sobre zswap.

Uma versão simples dos benefícios que obtemos com o zswap é que, em vez de lentidões horríveis quando ficamos sem memória, obtemos lentidões toleráveis ​​e leves que duram segundos em vez de dezenas de segundos ou mesmo minutos.

Como ativar o zswap em distribuições baseadas em Debian (Ubuntu, Linux Mint, etc.)

Abra um aplicativo de terminal e execute este comando para editar o arquivo de configuração do modelo do carregador de inicialização Grub:

zswap-edit-grub-template-config

Com as teclas do cursor, navegue até a linha que começa com “GRUB_CMDLINE_LINUX_DEFAULT”. Entre as aspas, adicione o seguinte texto:

zswap-edition-grub-template-config-2

Por exemplo, uma linha que foi GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" torna-se GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1".

Para salvar o arquivo, pressione Ctrl + X, seguido por “y” e depois Enter.

Gere os novos arquivos de configuração do Grub de acordo com o modelo que editamos anteriormente:

zswap-update-grub-ended

Reinicialize e o módulo zswap será ativado automaticamente.

Como habilitar zswap no Fedora e OpenSUSE

O procedimento aqui é semelhante ao da seção anterior, mas com algumas variações. Edite o arquivo de configuração do modelo Grub.

Adicionar zswap.enabled=1 dentro das aspas, na linha que começa com GRUB_CMDLINE_LINUX.

zswap-edition-grub-template-fedora

pressione Ctrl + X, seguido por “y” e depois Enter para salvar o arquivo.

Dependendo se o seu computador inicializa a partir de um sistema BIOS ou UEFI, o arquivo de configuração Grub é gerado em um caminho diferente. Para descobrir onde ele reside atualmente, digite o seguinte comando:

zswap-find-grub-cfg-on-fedora

Use o caminho que é gerado aqui no próximo comando. Por exemplo, em nosso caso, o caminho encontrado foi “/boot/grub2/grub.cfg”, portanto, o adicionaremos no final do próximo comando após “-o”:

Reinicie o computador. Depois de reiniciar, verifique se o módulo está ativo:

Se a saída for “Y”, o módulo está funcionando corretamente.

Como habilitar zswap no Arch Linux

Instale o pacote systemd-swap:

zswap-pacman-install-systemd-swap

Faça este pacote funcionar perfeitamente na hora da inicialização:

Comece agora, sem reiniciar:

Para verificar se tudo funcionou conforme o esperado, verifique se o módulo zswap está habilitado:

zswap-enable-systemd-swap-service

Se a saída for “Y”, significa que o módulo está ativo.

Como habilitar zswap em distribuições diferentes

De modo geral, habilitar o zswap no momento da inicialização é tão fácil quanto adicionar zswap.enabled=1 aos parâmetros do kernel. A maioria das distribuições usa Grub2 como carregador de inicialização por padrão. Se você estiver usando um carregador de inicialização diferente, encontre o arquivo de configuração onde ele armazena os parâmetros do kernel para passar no momento da inicialização e adicione zswap.enabled=1 como um parâmetro adicional.

Outro parâmetro com o qual você pode brincar para descobrir se melhora o desempenho para seu caso de uso específico é zswap.max_pool_percent=20. Você pode ajustá-lo alterando o número no final: por exemplo, zswap.max_pool_percent=50.

Adicione-o aos mesmos parâmetros do kernel onde você adiciona zswap.enabled=1. Recomenda-se que você não ultrapasse 50%, pois mais do que isso pode ter efeitos prejudiciais em sistemas com baixa quantidade de RAM.

Conclusão

Se você freqüentemente fica sem RAM em seu sistema antigo e experimenta os efeitos irritantes da sobrecarga do disco, você notará imediatamente e apreciará a diferença de agora em diante. Em vez de lentidões horríveis, você experimentará um atraso moderado e temporário que dura alguns segundos (em vez de minutos) quando o sistema operacional precisa trocar muitos dados para o disco. Você poderá continuar a trabalhar em situações em que antes não conseguia usar o computador durante o tempo de troca.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.