Ativar ZRAM para melhorar o desempenho SWAP (funciona em qualquer distro)

Estou postando isso porque precisei para uma distro específica e tive muita dificuldade de ativar.
Pois para SSD’s funciona melhor ZRAM (tem um desgaste menor do SSD) deixando nele, do que em HDD’s. Mesmo assim pode ser somado de qualquer forma.

Ativar ZRAM para melhorar o desempenho SWAP

Fonte: Copiada e colada:

O módulo zRAM é controlado pelo systemd, portanto, não há necessidade de colocá-lo no /etc/fstab.

Abra um terminal de comandos e crie o arquivo abaixo:

sudo nano /etc/modules-load.d/zram.conf

Neste arquivo coloque o valor:

zram

Salve e feche o arquivo.

Crie um segundo arquivo com o comando:

sudo nano /etc/modprobe.d/zram.conf

Neste arquivo, coloque os valores:

options zram num_devices=1

Salve e feche o arquivo.

Em seguida, precisamos configurar o tamanho da partição zRAM. Crie um novo arquivo com o comando:

sudo nano /etc/udev/rules.d/99-zram.rules

Nesse arquivo, coloque o valor abaixo, colocando a quantidade do tamanho para o zRAM que achar mais adequada a sua necessidade.

KERNEL=="zram0", ATTR{disksize}="1024M",TAG+="systemd"

Salve e feche o arquivo.

Disabilite sua swap em disco

Acesse o arquivo /etc/passwd e desabilite a entrada da sua swap atual.

Eu aproveitei e formatei a partição que eu tinha a swap.

Crie um systemd unit

Agora, vamos criar um arquivo unit para o systemd.

sudo nano /etc/systemd/system/zram.service

Coloque o seguinte conteúdo neste arquivo:

[Unit]
Description=Swap with zram
After=multi-user.target

[Service]
Type=oneshot 
RemainAfterExit=true
ExecStartPre=/sbin/mkswap /dev/zram0
ExecStart=/sbin/swapon /dev/zram0
ExecStop=/sbin/swapoff /dev/zram0

[Install]
WantedBy=multi-user.target

Habilite a unit com o comando:

sudo systemctl enable zram

Reinicie seu computador.

Verifique sua zram em uso:

cat /proc/swaps

zram

Uso só em 90%

Para que a swap só entre em uso quando o sistema atingir 90% da RAM disponível. Eu edito o arquivo /etc/sysctl.conf colocando os valor:

vm.swappiness=10
4 curtidas

Pergunta de leigo: Se a Zram usa a RAM, tanto faria o valor do swappiness, 10 ou 90, visto que a velocidade de acesso seria a mesma?

A diferença é que a ZRAM comprime os dados, o que significa que ela usa um pouco da CPU.

1 curtida

no arch uso isso

36gb de swap emcima de 32gb de ram fisica p poder compilar o Android 14, os requerimentos da google e 64gb de ram :slightly_frowning_face:

2 curtidas

Tem uma matéria que explica bem a respeito da Zram e Swappiness

Particularmente eu não sou a favor de mexer na Swappines.

Algumas pessoas setam o valor de Swappiness com base na quantidade de Swap disponível, mas isso é errado. É preciso entender o quão determinante será o uso de Swap. Por exemplo, se você rodar um banco de dados, como no exemplo acima, é determinante usar Swap mesmo quando houver RAM livre, logo, dependendo do resultado do seu calculo, sua Swap ficará bem restrita. Logo, o calculo não funcionará muito bem. Enfim, é preciso conhecer as características do sistema para determinar o valor do Swappiness.

Sugiro dar uma lida nesse artigo que é bem explicativo.

Devemos entender as particularidades de uso de cada um e os parâmetros de cada distro, como funcionam.

E deixando claro que entendi que isso se aplica aos SSDs e NVMEs, diminuindo a leitura e escrita, prolongando a vida útil dos citados acima.

Já em HDDs ficaria como sempre foi, já que o desgaste semelhante não se aplica.

1 curtida

Aqui por um acaso não seria o /etc/fstab pra desativar o swap?

Como eu não instalo com swap não se aplica ao meu caso… uso SSD e usar swap em disco seria uma coisa não muito lóginca.