Hoje aprenderemos a criar e habilitar a memória Swap no Linux. Quando instalamos um Linux em uma Estação ou mesmo um Servidor, o próprio instalador (por padrão) já cria uma Memória Swap, mas principalmente em VPS esta memória nunca vem criada.
A Memória Swap é utilizada quando sua Memória RAM se esgota. Como falei aqui sobre uma VPS que é um tipo de hospedagem muito utilizada, vamos focar o exemplo nela.
Mais especificamente em uma VPS rodando WordPress, que vai carregar basicamente o Servidor WEB e o Servidor de Banco de Dados.
Agora, supondo que voê consiga muitas visitas, a memória RAM vai se esgotando e então sua VPS trava, a não ser que você esteja com uma memória Swap para ela começar a trabalhar juntamente com a memória RAM.
Então, sem mais delongas vamos lá:
Verificando se você tem memória Swap
No terminal digite:
free -h
E o resultado:
total used free shared buffers cached Mem: 1.0G 861M 138M 64M 54M 470M -/+ buffers/cache: 337M 663M Swap: 0B 0B 0B
Então, desta forma você não tem o Swap ativado
Outra coisa para esta verificação é você usar o swapon para verificar.
swapon -s
Se não tiver nenhum resultado, não terá mesmo, então vamos criar o arquivo
Criando o arquivo de Swap
Eu já logo como root para mexer no sistema, eu prefiro. Caso não seja root, você precisará executar praticamente todos os comandos abaixo com o sudo na frente deles para ter permissão.
Primeiro, para você entender, criaremos o arquivo arquivoswap na raiz.
dd if=/dev/zero of=/arquivoswap count=2048 bs=1M
Este comando cria o arquivo no diretório raiz, o preenche de (vamos assim dizer: Zeros), com um tamanho de 2048 e este preenchimento é de 1 MB por vez, ou seja, ele vai executar este bloco 2048 vezes.
O “1M” é uma opção meio que padrão, não altera muito, se você colocar de 5 em 5, vai demorar 5 vezes mais para criar o bloco e vai executar 5 vezes menos… então não tem porque mudar.
O que pode ser mudado é o count, este é o número de vezes que o 1M vai se repetir, neste caso formando um arquivo de 2048 MB, ou seja 2 GB.
Então se quiser colocar 4 GB, mude para 4096, por exemplo. Mas lembre-se: a memória Swap é mais lenta que a memória RAM, portanto ela é uma memória AUXILIAR, somente para não travar sua máquina.
Então se você estiver usando muita memória Swap, o correto é você ter mais memória RAM contratada no caso de uma VPS, ou se for seu computador, comprar mais memória RAM e colocar os pentes lá na placa mãe, ok ? Entendido ? rs
Mas antes que você me pergunte: Quanto de memória Swap é recomendado ? Bom, recomendação minha que utilizo Linux há muitos anos, eu te diria: 2x sua memória RAM. Isto é praxe “dos antigos” nisto. Tem muita gente dizendo que é bom usar pouco, ou não usar em SSD, mas eu uso assim: 2x a RAM, no meu caso a RAM é 1 GB e o Swap 2 GB.
Bom, voltando… no comando acima teremos o resultado:
2048+0 records in 2048+0 records out 2147483648portes (2.1 GB) copied, 10.5356 s, 204 MB/s
Arquivo criado, você pode ver pelo comando:
ls -lah /arquivoswap
Preparando o arquivo de Swap
Agora é simples, aliás tudo é bem simples.
Primeiro, colocamos as permissões 600 nele.
chmod 600 /arquivoswap
Depois, preparamos o arquivo para trabalhar como a memória Swap. Lembra, ele está com “zeros” ?
mkswap /arquivoswap
O resultado será algo parecido com isto
Setting up swapspace version 1, size = 2097148 KiB no label, UUID=1efd54a8-66a6-4961-ab23-62ff88ff0d10
Ativando o Swap
Já que seu arquivo está pronto, podemos ativar ele no sistema, simples assim, com ele funcionando.
swapon /arquivoswap
E você pode ver seu arquivo já funcionando perfeitamente
total used free shared buffers cached Mem: 1.0G 861M 138M 64M 54M 470M -/+ buffers/cache: 337M 663M Swap: 2.0G 0B 2.0G
Agora, tudo está pronto, mas se você reiniciar seu computador ou a VPS, ele não estará mais em uso.
Para isto, ajustamos no fstab.
Ativando o Swap no Boot do Linux
Para ativar editamos o arquivo fstab que está na pasta etc
nano /etc/fstab
E colocamos no final do arquivo o /arquivoswap none swap sw 0 0, ficando desta forma
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/vda1 during installation UUID=5500b31e-edcc-4fa9-8e28-6ee8672c798a / ext4 errors=remount-ro 0 1 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /swapfile none swap sw 0 0
E no caso do nano, fechamos ele com CTRL + X, Y e [Enter]
Pronto, você já pode reiniciar sua máquina e estará com o Swap ativado
Abraços.