Esta configuração visa maximizar a performance de sistemas com RAM moderada (12GB), utilizando compressão em memória antes de recorrer ao armazenamento em disco, além de ajustar a reatividade do Kernel Linux.
1. Arquitetura de Memória Implementada
A solução utiliza duas camadas de Swap com prioridades distintas:
- zRAM (Alta Prioridade): Um dispositivo de bloco comprimido na RAM. É ordens de magnitude mais rápido que o SSD.
- Swapfile (Baixa Prioridade): Arquivo de segurança em disco para evitar travamentos (OOM) em cargas extremas.
2. Componentes e Configurações
A. Instalação do zRAM
O zram-tools automatiza a criação da swap comprimida.
- Instalação:
sudo apt install zram-tools -y - Configuração (
/etc/default/zramswap):PERCENT=60: Reserva até 60% da RAM para compressão (geralmente entrega uma taxa de 2:1 ou 3:1).PRIORITY=100: Garante que o zRAM seja consultado antes do arquivo em disco.
B. Parâmetros de Kernel (Sysctl)
As variáveis de sistema foram ajustadas em /etc/sysctl.d/99-otimizacoes.conf para equilibrar o uso de RAM e Disco.
| Parâmetro | Valor | Descrição |
vm.swappiness | 10 | Define a agressividade do swap. O valor 10 faz o kernel priorizar a RAM física e usar swap apenas em necessidade real. |
vm.vfs_cache_pressure | 50 | Controla a recuperação de memória de cache de diretórios/inodes. O valor 50 ajuda o Btrfs a manter metadados em cache por mais tempo, acelerando o sistema. |
3. Passo a Passo para Replicar
Passo 1: Configurar zRAM
- Edite o arquivo:
sudo nano /etc/default/zramswap - Adicione:Plaintext
PERCENT=60 PRIORITY=100 - Reinicie o serviço:
sudo systemctl restart zramswap
Passo 2: Otimizar o Kernel
- Crie o arquivo de configuração:Bash
echo -e "vm.swappiness=10\nvm.vfs_cache_pressure=50" | sudo tee /etc/sysctl.d/99-otimizacoes.conf - Aplique as mudanças:Bash
sudo sysctl --system
4. Comandos de Monitoramento e Validação
Para verificar se o balanço está correto, utilize os seguintes comandos:
- Verificar Hierarquia de Swap:Bash
swapon --showCertifique-se de que o/dev/zram0possui umaPRIOsuperior ao/swapfile. - Verificar Parâmetros Ativos:Bash
sudo sysctl vm.swappiness vm.vfs_cache_pressure - Monitorar Uso em Tempo Real:Bash
zramctlEste comando mostra o quanto de memória original foi comprimida e quanto espaço ela ocupa atualmente (Disksize vs Data).
Resumo Final
Com estas alterações, Thomas, seu sistema ganha uma “RAM virtual” mais ágil e preserva a vida útil do seu SSD, mantendo a estabilidade para seus containers Docker e instâncias do Zabbix.
