Habilitando ZSwap + zstd + z3fold

editado janeiro 2020 em Dicas e Truques
Para maior eficácia do método abaixo, é recomendável que AMBOS os requisitos sejam atendidos:
I - Um processador com 3 ou mais núcleos.
II - 4Gb ou menos de RAM para uso exclusivo do sistema operacional.


Caso contrário use ZSwap + LZ4 como alternativa.

ZSWAP


ZSwap é um recurso do kernel que fornece um cache na RAM para páginas de troca compactadas. As páginas que de outra forma seriam trocadas para o disco são, em vez disso, compactadas e armazenadas dentro de um espaço de memória. Uma vez que o espaço está cheio ou a RAM está esgotada, a página menos usada recentemente é descompactada e gravada no disco.

ZSwap permite ao Linux fazer um uso mais eficiente da RAM, uma vez que aumenta virtualmente a capacidade de memória, em detrimento de um uso de CPU ligeiramente aumentado para compactar/descompactar as páginas de troca. Isso é particularmente eficaz em máquinas com pouca memória RAM.

A redução do uso do swap como resultado do uso de ZSwap efetivamente reduz a quantidade de desgaste colocada sobre armazenamento baseado em flash, resultando no prolongamento de sua vida útil. Além disso, o uso de ZSwap resulta em E/S significativamente reduzida para sistemas Linux que necessitam de swap.

A diferença em relação a ZRam, é que ZSwap funciona em conjunto com um dispositivo de swap, enquanto ZRam é um dispositivo de swap na RAM que não requer um dispositivo de swap de apoio.

Então, o ZSwap está sendo usado, certo? Errado!
Parece que o ZSwap está presente no kernel, mas só é usado se habilitado explicitamente no arranque do sistema.

Requisitos

Kernel 4.18 ou superior.
O sistema precisa de um dispositivo de troca física: partição swap ou swapfile (o Mint 19.x já vem com um dispositivo swapfile habilitado)

Aviso

Nunca use ZRam e ZSwap juntos!
Para maior eficácia de ZSwap, use valores de Swappiness próximos do padrão (60).

Etapas para habilitar ZSWAP

1. Abra o grub como root:
sudo xed /etc/default/grub

2. Mude a linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" para:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1 zswap.compressor=zstd zswap.zpool=z3fold"
Salve a alteração e feche o editor de texto.

3. Atualize o Grub, executando:
sudo update-grub

4. Habilitando o ZSTD e o Z3FOLD:
sudo -s
apt install -y checkinstall build-essential
cd /tmp
wget https://github.com/facebook/zstd/releases/download/v1.4.4/zstd-1.4.4.tar.gz -O zstd.tar.gz
tar -xf zstd.tar.gz
cd zstd-1.4.4
make
echo y | checkinstall
if ! grep -qx zstd /etc/initramfs-tools/modules; then echo zstd >> /etc/initramfs-tools/modules; fi
if ! grep -qx zstd_compress /etc/initramfs-tools/modules; then echo zstd_compress >> /etc/initramfs-tools/modules; fi
if ! grep -qx z3fold /etc/initramfs-tools/modules; then echo z3fold >> /etc/initramfs-tools/modules; fi
update-initramfs -u -k all

5. Reinicie o seu PC.

6. Verifique se ZSWAP está habilitado, executando:
cat /sys/module/zswap/parameters/enabled
Se ZSWAP estiver habilitado, você deve ver Y na resposta.

7. Verifique se ZSTD e Z3FOLD estão sendo usados, executando:
sudo dmesg | grep -i zswap:
Se a resposta for: zswap: loaded using pool zstd/z3fold
Então você habilitou zswap + zstd + z3fold com sucesso.

Referências:
https://www.phoronix.com/scan.php?page=news_item&px=MTI1MDM
https://en.wikipedia.org/wiki/Zram
https://ubunlog.com/mejorar-rendimiento-ubuntu-gracias-zswap/
https://forum.doozan.com/read.php?2,44269,44279
https://ubuntu-mate.community/t/enable-zswap-to-increase-performance/11302
https://fedoraproject.org/wiki/Zswap
https://events17.linuxfoundation.org/sites/events/files/slides/z3fold.pdf
https://facebook.github.io/zstd/

Comentários

Entre ou Registre-se para fazer um comentário.