Melhor maneira de desabilitar swap no linux

27

Estou executando um kernel 3.18.9 compilado personalizado e estou pensando sobre a melhor maneira de desabilitar o swap no sistema. Eu também uso o init se isso faz diferença.

É suficiente comentar ou remover a linha de swap em /etc/fstab para evitar que a troca funcione / seja na inicialização ou recompilar o kernel sem que Support for paging of anonymous memory (swap) tenha 100% de certeza de que não está habilitado?

Eu executo partições criptografadas e quero evitar vazamentos acidentais no disco rígido. As especificações do meu sistema também são ótimas o suficiente para que eu possa sobreviver em um ambiente sem trocas.

Obrigado pelo seu tempo.

    
por user283167 22.04.2015 / 20:44

4 respostas

47
  1. Identifique dispositivos e arquivos de permuta configurados com cat /proc/swaps .
  2. Desative todos os dispositivos e arquivos de permuta com swapoff -a .
  3. Remova qualquer referência correspondente encontrada em /etc/fstab .
  4. Opcional: Destrua todos os dispositivos de troca ou arquivos encontrados na etapa 1 para impedir sua reutilização. Devido às suas preocupações com o vazamento de informações confidenciais, considere a possibilidade de realizar algum tipo de limpeza segura.

troca de pessoas

    
por 22.04.2015 / 21:42
7

Se tiver certeza de que deseja desabilitar a troca (observação: isso é não recomendado, mesmo que você tenha certeza de que a RAM física é mais que suficiente), siga estas etapas:

  1. executar swapoff -a : isso desativará imediatamente a troca
  2. remova qualquer entrada de swap de /etc/fstab
  3. reboot do sistema. Se a troca sumiu, bom. Se, por algum motivo, ainda estiver aqui, você deve remover a partição de troca. Repita as etapas 1 e 2 e, depois disso, use fdisk ou parted para remover a partição de troca (agora não utilizada). Tenha muito cuidado aqui: remover a partição errada terá efeitos desastrosos!
  4. reboot
por 22.04.2015 / 21:58
6

Costumava ser que apenas partições de troca em / etc / fstab eram usadas automaticamente, no entanto, o systemd pode estar mudando isso levemente. Você pode precisar fazer:

systemctl mask dev-sdXX.swap

(altere sdXX) para a sua partição de troca formatada, o que levanta a questão de por que você tem uma partição swap se você não quiser que ela seja usada ...

Se você não estiver usando o systemd, então, remover as entradas de swap do / etc / fstab deve ser suficiente (até onde eu sei).

Talvez a solução real seja livrar-se das partições de troca para que não sejam usadas acidentalmente. Para remover as partições de swap, eu usaria fdisk para alterar o tipo de partição de swap para outra coisa, então reformate a partição ou use: dd if=/dev/zero of=/dev/old-swap-partition para zerar e impedir seu uso.

Veja também: link

    
por 22.04.2015 / 20:54
0

Quando vejo o arquivo / etc / fstab no Raspbian, vejo um comentário dizendo

a swapfile is not a swap partition, no line here
  use dphys-swapfile swap[on|off] for that

Mas para desativar completamente o arquivo de troca pré-configurado, isso funciona perfeitamente:

swapoff -a
chmod -x /etc/init.d/dphys-swapfile
reboot

Esta solução parece um pouco rápida e suja para mim, mas você pode simplesmente reativá-la com:

chmod +x /etc/init.d/dphys-swapfile
reboot
    
por 19.11.2018 / 13:22