implant swap
Gerencia o arquivo de swap /swapfile: cria e ativa com o tamanho pedido,
desativa e remove, ou mostra o estado atual de RAM e swap.
Swap é a rede de segurança de servidores com pouca RAM: sem ele, um pico de memória aciona o OOM killer, que derruba processos (às vezes o próprio serviço principal). Com swap, o host fica mais lento sob pressão, mas continua de pé.
Uso
implant swap [OPTIONS] <SUBCOMANDO>Requer root. As opções do comando (--size, --dry-run) vêm antes do
subcomando:
sudo implant swap --size 4 enable # correto
sudo implant swap enable --size 4 # erro: argumento inesperadoSubcomandos
| Subcomando | Descrição |
|---|---|
enable |
Cria e ativa /swapfile e o registra no /etc/fstab |
disable |
Desativa /swapfile, remove a entrada do fstab e apaga o arquivo |
status |
Mostra RAM, swap ativo, existência do /swapfile e entrada no fstab |
Flags
| Flag | Descrição |
|---|---|
--size <GB> |
Tamanho do swap em GB, usado só pelo enable (padrão 2; 0 também vira 2) |
--dry-run |
Simula sem aplicar mudanças |
-o, --output <FORMATO> |
human (padrão), json ou yaml |
-v, --verbose |
Mostra os comandos executados |
-c, --config <ARQUIVO> |
Arquivo de configuração (padrão /etc/protocolo-implant/config.toml) |
-t, --token <TOKEN> |
Token de identificação do servidor (ou PROTOCOLO_TOKEN) |
O que é aplicado
`enable`
Só age se o host está sem nenhum swap ativo. Se já existe swap (arquivo
ou partição, de qualquer tamanho), o enable não altera nada e apenas
devolve o status — não redimensiona swap existente.
Sem swap ativo, executa em sequência:
| Passo | Comando | Efeito |
|---|---|---|
| 1 | fallocate -l <N>G /swapfile (ou dd como fallback) |
Reserva o espaço em disco |
| 2 | chmod 600 /swapfile |
Só root lê o arquivo |
| 3 | mkswap /swapfile |
Formata como swap |
| 4 | swapon /swapfile |
Ativa imediatamente |
| 5 | Adiciona /swapfile none swap sw 0 0 ao /etc/fstab |
Persiste após reboot (não duplica a linha) |
Garanta espaço livre em disco antes: um swap de 4 GB ocupa 4 GB no sistema de arquivos raiz.
`status`
| Campo | Significado |
|---|---|
ram_mb |
RAM total em MB |
swap_mb |
Swap ativo total em MB (qualquer origem) |
swapfile_exists |
/swapfile existe |
fstab_entry |
Há linha /swapfile no /etc/fstab |
configured_size_gb |
Tamanho pedido no enable (0 em status/disable) |
Relação com `check --auto-fix`
O check --auto-fix também cria swap, mas só em hosts com até 2 GB de
RAM e sem nenhum swap, sempre com 2 GB. O implant swap enable não tem essa
restrição de RAM e aceita qualquer tamanho via --size.
A preferência do kernel por RAM em vez de swap (vm.swappiness = 10) é
ajustada pelo tuning de capacidade do check --auto-fix e pelo pack
harden-network, não por este comando.
Como reverter
sudo implant swap disableO disable executa swapoff /swapfile, remove do /etc/fstab as linhas que
mencionam /swapfile e apaga o arquivo. Atua apenas sobre /swapfile:
partições de swap ou arquivos com outro nome continuam ativos.
Antes de desativar, confira com status se a RAM livre comporta o que está
em swap: o swapoff precisa trazer essas páginas de volta para a memória, e
sem espaço o OOM killer pode agir.
implant reset --swap faz a mesma reversão.
Exemplos
# Estado atual
sudo implant swap status
# Criar swap de 2 GB (padrão)
sudo implant swap enable
# Criar swap de 4 GB, simulando antes
sudo implant swap --dry-run --size 4 enable
sudo implant swap --size 4 enable
# Remover o /swapfile
sudo implant swap disable
# Status em JSON
sudo implant swap status -o jsonSaída JSON do status (resumida):
{
"success": true,
"command": "swap",
"data": {
"action": "status",
"target": "swap",
"result": "completed",
"dry_run": false,
"state": {
"ram_mb": 1987,
"swap_mb": 2047,
"swapfile_exists": true,
"fstab_entry": true,
"configured_size_gb": 0
}
}
}