Achei esse tutorial para usar zram como swap, já montei na minha distro e deu muito certo. Existem pacotes nos repositórios para isso, não sei se funcionam da mesma maneira que esse código, mas achei bem legal fazer na "unha".
O módulo do kernel zram (anteriormente chamado de compcache ) fornece um dispositivo de bloco compactado na RAM. Se você usá-lo como dispositivo de swap, a RAM pode conter muito mais informações, mas usa mais CPU. Ainda assim, é muito mais rápido do que trocar para um disco rígido. Se um sistema costuma voltar a trocar, isso pode melhorar a capacidade de resposta. Usar o zram também é uma boa maneira de reduzir os ciclos de leitura / gravação de disco devido à troca em SSDs.
código da obra
Carregue os módulo zRam no kernel usando o modprobe:
- Código: Selecionar todos
sudo modprobe zram
Configure o algoritmo de compactação extremamente rápido usando lz4:
- Código: Selecionar todos
sudo sh -c "echo 'lz4' > /sys/block/zram0/comp_algorithm"
Defina o espaço em disco zRam disponível em 2 Gigabytes para swap:
- Código: Selecionar todos
sudo sh -c "echo '2G' > /sys/block/zram0/disksize"
Crie uma troca em dispositivo de bloco zRam:
- Código: Selecionar todos
sudo mkswap --label zram0 /dev/zram0
Ative o dispositivo de bloco zRam para trocar com alta prioridade:
- Código: Selecionar todos
sudo swapon --priority 100 /dev/zram0
Para ativar automaticamente o zRam na inicialização crie um serviço systemd ( zram.service ) usando um editor de texto, como nano :
- Código: Selecionar todos
sudo nano /etc/systemd/system/zram.service
Adicione o seguinte ao zram.service:
- Código: Selecionar todos
[Unit]
Description=zRam block devices swapping
[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c "modprobe zram && echo lz4 > /sys/block/zram0/comp_algorithm && echo 2G > /sys/block/zram0/disksize && mkswap --label zram0 /dev/zram0 && swapon --priority 100 /dev/zram0"
ExecStop=/usr/bin/bash -c "swapoff /dev/zram0 && rmmod zram"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Ative o zram.service para ser executado automaticamente na inicialização:
- Código: Selecionar todos
sudo systemctl enable zram
Caso queira desativar o dispositivo de bloco zRam
Desativar dispositivo de bloco zRam:
- Código: Selecionar todos
sudo swapoff /dev/zram0
Remover o módulo zRam do kernel:
- Código: Selecionar todos
sudo rmmod zram
Desativar o zram.service no sysmtemd:
- Código: Selecionar todos
sudo systemctl disable zram.service
Fonte: https://www.techrapid.co.uk