A instancia gratuita f1-micro que criamos no Google Compute Engine (VPS Grátis no Compute Engine - Google Cloud Plataform) atualmente oferece apenas 0.6Gb de memória o que pode ser insuficiente para algumas aplicações.
Então para minimizar este problema sem ter que recorrer a planos pagos temos a opção de “simular” mais memória através de um SWAP em disco.
Lembrando que SWAP em disco não é o mais recomendado para máquinas com armazenamento em estado sólido, SSDs, pois diminuiu o tempo de vida útil do componente. O uso de SWAP é mais indicado para discos rígidos tradicionais.
Apesar do tutorial apresentado a seguir estar direcionado a máquinas VPS no Google Compute Engine, rodando Ubuntu, estes passos também são validos para configurar o uso de SWAP em disco em outros servidores tipos de servidores comuns ou VPS, por exemplo os que você pode hospedar na Digital Ocean.
1 - Verificar se o SWAP já está habilitado no seu sistema.
Se o comando não retornar nada é porque o SWAP ainda não está habilitado no seu sistema.
2 - Verificar o espaço em disco disponível na partição do HD.
Output:
Filesystem Size Used Avail Use% Mounted on
/dev/root 9.6G 3.8G 5.8G 40% /
devtmpfs 288M 0 288M 0% /dev
tmpfs 291M 0 291M 0% /dev/shm
tmpfs 291M 940K 290M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 291M 0 291M 0% /sys/fs/cgroup
/dev/sda15 105M 3.4M 102M 4% /boot/efi
/dev/loop2 87M 87M 0 100% /snap/core/5145
/dev/loop0 53M 53M 0 100% /snap/google-cloud-sdk/50
/dev/loop3 88M 88M 0 100% /snap/core/5328
/dev/loop4 53M 53M 0 100% /snap/google-cloud-sdk/49
/dev/loop5 92M 92M 0 100% /snap/core/6259
/dev/loop6 55M 55M 0 100% /snap/google-cloud-sdk/68
tmpfs 59M 0 59M 0% /run/user/1453787099
Em nosso caso o device/dev é o de nosso interesse e tem 5.8 Gigabytes livres.
3 - Verificar quando de memória temos disponíveis em nossa máquina virtual.
$ free -h
Output:
total used free shared buff/cache available
Mem: 581M 218M 122M 964K 240M 264M
Swap: 0B 0B 0B
4 - Definição da quantidade de espaço SWAP a ser utilizada.
Normalmente a recomendação do tamanho da memória SWAP em disco é igual a quantidade de memória física ou o dobro disto, mas este é um fator que fica a critério do administrador da máquina virtual levando em consideração a necessidade das aplicações que irão rodar na VPS.
Em alguns casos, não basta criar memória virtual via SWAP e sim aumentar a memória real da máquina. SWAPs acima de 4GB não são recomendados.
Você também que observar se após criar o SWAP você ainda terá espaço em disco suficiente para o sistema operacional e suas aplicações.
No caso do VPS gratuito do Google Compute Engine, sugiro algo entre 1,2GB e 2,4GB.
5 - Criando o arquivo de SWAP
$ sudo fallocate -l 2G /swapfile
O comando fallocate cria um arquivo com o tamanho especificado.
6 - Habilitando o arquivo de SWAP
a) Modifique as permissões do arquivo para permitir que apenas o usuário root tenha acesso ao arquivo.
$ sudo chmod 600 /swapfile
b) Indique ao sistema operacional que o arquivo é um arquivo de SWAP.
$ sudo mkswap /swapfile
Output:
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=a5af6064-8224-4193-972c-1e34492d477c
c) Habilite o arquivo de SWAP.
$ sudo swapon /swapfile
7 - Conferindo se tudo está certo
a) O comando sudo swapon --show irá mostrar que existe um arquivo swap em funcionamento no seu sistema.
$ swapon --show
Output:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
b) Com o comando já utilizado free -h você irá verificar a quantidade de memória total e disponível, incluindo a sua nova memória virtual via SWAP.
$ free -h
Output:
total used free shared buff/cache available
Mem: 581M 218M 120M 964K 241M 264M
Swap: 2.0G 0B 2.0G
8 - Tornando as modificações permanentes
O que fizemos até agora são modificações temporárias e se nada for feito no próximo boot, reinicio do sistema, serão perdidas. Então para tornar as modificações permanentes devemos fazer o seguinte:
a) Faça um backup do arquivo /etc/fstab
$ sudo cp /etc/fstab /etc/fstab.bak
b) Adicione as informações de SWAP no arquivo
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Nenhum comentário:
Postar um comentário