domingo, 5 de maio de 2019

Criar um arquivo de swap no linux

Recentemente encontrei um servidor cujo administrador tinha criado com uma área de swap muito pequena para a memória RAM disponível.

$ swapon --show
NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition   4G   4G   -1

Note que o swap mostrado acima é uma partição, e para alterá-la será necessário utilizar uma ferramenta de edição de partições, que terá que diminuir alguma partição existente para dar espaço para a nova área de swap. 
Como não dava para parar o servidor no momento e eu precisava de mais swap, a solução foi criar um arquivo de swap.

Vamos ver os passos necessários a seguir. Todos os comandos abaixo são dados como root.

1- Precisamos criar o arquivo que irá conter o swap. No meu caso irei criar um swap de 16GB no arquivo /swapfile:
$ fallocate -l 16G /swapfile


2- Vamos preenche-lo de branco. Usamos o dd. Como o tamanho do bloco é de 1024 bytes, precisamos de 12582912 blocos (informados em count) para preencher.
$ dd if=/dev/zero of=/swapfile bs=1024 count=12582912

3- Trocar a permissão (se você esquecer este passo, ao executar o comando do 4º passo, ele irá lembrá-lo disto):
$ chmod 600 /swapfile

4- Definimos agora o arquivo como uma área de swap
$ mkswap /swapfile

5- Ativamos o novo swap
$ swapon /swapfile


6- Para garantir que ele suba em um reboot, precisamos acrescentar a seguinte linha ao arquivo /etc/fstab:
/swapfile swap swap defaults 0 0


7- Verificamos se está tudo ok:
$ swapon --show
NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition   4G   4G   -1
/swapfile file       16G   0B   -2

Pronto, o seu linux está com um swap adicional de 16GB.

Nenhum comentário:

Postar um comentário

Desabilitar ModemManager no Ubuntu

 ModemManager provides a unified, high-level interface to control all kinds of modems: 4G/5G modems (LTE/NR) 3G modems NB-IoT / Cat-M1 modul...