Espaço de swap no Linux
Swap é um espaço em disco que o kernel do Linux usa como transbordo para a memória: páginas de memória raramente usadas são movidas para lá, para que a RAM permaneça livre para tarefas ativas. Pode ser uma partição dedicada ou um arquivo de swap, e é exibido pelos comandos free -h e swapon --show.
1Por que o swap ainda é útil
Mesmo com bastante RAM, o swap permite que o kernel mova páginas ociosas para fora da memória e fornece um buffer antes que o out-of-memory killer interrompa processos. No entanto, um swapping constante e intenso significa que a máquina precisa de mais RAM ou de menos carga de trabalho.
2Swappiness
A configuração do kernel vm.swappiness (0-200, padrão 60) influencia a facilidade com que o kernel utiliza o swap em comparação com o descarte do cache de arquivos. Valores mais baixos mantêm a memória dos aplicativos na RAM por mais tempo. É lido com sysctl vm.swappiness e definido permanentemente em um arquivo em /etc/sysctl.d/.
3Arquivos de swap
Um arquivo de swap é criado, formatado com mkswap, ativado com swapon e adicionado ao /etc/fstab para persistir após reinicializações. Suas permissões devem ser 600.
Como adicionar um arquivo de swap de 2 GB
- Crie o arquivo:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 - Restrinja o acesso:
sudo chmod 600 /swapfile - Formate-o:
sudo mkswap /swapfile - Ative-o:
sudo swapon /swapfile - Torne-o permanente: adicione a linha '/swapfile none swap sw 0 0' ao
/etc/fstab - Verifique:
swapon --showefree -h
Cuidados
- No Btrfs, um arquivo de swap precisa de preparação especial (sem copy-on-write); siga o guia da sua distribuição.
- Um erro no
/etc/fstabpode impedir a inicialização do sistema: verifique a linha antes de reiniciar.
Artigos relacionados
- df (disk free)Como ler a saída do df, por que o Use% pode atingir 100% antes que o Avail seja zero para usuários comuns e como verificar inodes com df -i.
- Unidades do systemd e systemctlO que é uma unidade do systemd, os tipos de unidade comuns e como iniciar, parar, habilitar e inspecionar serviços com o systemctl.
- Uso de disco com du e ncduComo encontrar o que está ocupando o disco no Linux com o du e o interativo ncdu, usando opções que permanecem em um único sistema de arquivos.
Fontes
- swapon(8) man7.org
- mkswap(8) man7.org
- free(1) man7.org
- Documentação para /proc/sys/vm (kernel.org) kernel.org
Última revisão: