Este script automatiza a configuração da memória SWAP em sistemas Linux baseados em Debian/Ubuntu. Ele detecta a RAM disponível, define um tamanho de SWAP ideal, verifica o espaço em disco e ajusta parâmetros de desempenho do sistema para otimizar o uso da memória de forma segura e eficiente.
- Configuração Inteligente: Detecta a RAM e ajusta o tamanho do SWAP de acordo com as boas práticas.
- Flexibilidade de Tamanho: Permite definir um tamanho de SWAP personalizado com a flag
--size, aceitando unidades em Gigabytes (G) e Megabytes (M). - Log de Execução: Salva um registro detalhado de todas as operações em
/var/log/swap_script.logpara fácil auditoria e depuração. - Verificação de Espaço: Garante que há espaço em disco suficiente antes de criar o arquivo de SWAP.
- Gerenciamento de SWAP Antigo: Desativa partições de SWAP existentes e remove suas entradas do
/etc/fstab. - Otimização de Performance: Ajusta
vm.swappinessevm.vfs_cache_pressurepara um uso mais eficiente da memória. - Segurança: Cria backups automáticos de
/etc/fstabe/etc/sysctl.confantes de qualquer modificação. - Robustez: Utiliza
ddcomo alternativa casofallocatenão seja suportado pelo sistema de arquivos. - Interativo: Solicita confirmação do usuário antes de reiniciar o sistema.
- Sistema operacional baseado em Debian ou Ubuntu.
- Acesso root ou permissões de superusuário (
sudo). - Espaço em disco suficiente para a criação do arquivo de SWAP.
-
Clone o repositório:
git clone https://github.com/PauloNRocha/swap.git cd swap -
Conceda permissão de execução:
chmod +x swap.sh
-
Execute com permissões de root:
-
Para configuração automática:
sudo ./swap.sh
-
Para definir um tamanho específico:
# Exemplo com Gigabytes sudo ./swap.sh --size 4G # Exemplo com Megabytes sudo ./swap.sh --size 512M
-
Para ver as opções de ajuda:
sudo ./swap.sh --help
-
- Backups:
/etc/fstabé salvo como/etc/fstab.backup.<data+hora>./etc/sysctl.confé salvo como/etc/sysctl.conf.backup.<data+hora>.
- Log de Execução:
- Um log detalhado de todas as operações é salvo em
/var/log/swap_script.log.
- Um log detalhado de todas as operações é salvo em
Este projeto está licenciado sob a MIT License, permitindo uso, modificação e distribuição livre.