Criar um arquivo swap para seu servidor Linux

:bulb: Para servidores com 4 GB de RAM ou menos, a execução de ./discourse-setup solicitará e criará automaticamente um arquivo de troca (swapfile) de 2 GB.

A maioria dos provedores de máquinas virtuais em nuvem não configura arquivos de troca como parte do provisionamento do servidor.

Em particular, a atualização do Discourse gera muita pressão de memória. Com um arquivo de troca, em vez de terminar processos aleatoriamente com um erro de falta de memória, as coisas ficarão mais lentas. Ter um arquivo de troca é uma apólice de seguro barata que protege você de muitas outras falhas relacionadas à carga.

Isso pode ser feito a qualquer momento a partir da linha de comando no seu servidor.

Configurar um arquivo de troca de 2 GB

Recomendamos um arquivo de troca de 2 GB para o Discourse, a menos que seu servidor tenha mais de 4 GB de memória.

No shell que você abriu para seu droplet, faça o seguinte:

:warning: Você precisará ser root para grande parte disso, então seja root ou use sudo -s antes de executar estes comandos! Não se esqueça de sair do root depois.

  1. Crie um arquivo de troca vazio

     install -o root -g root -m 0600 /dev/null /swapfile
    
  2. Alocar um arquivo de 2 GB chamado ‘swapfile’

     fallocate -l 2G /swapfile
    
  3. Dizer ao linux que este é o arquivo de troca:

     mkswap /swapfile
    
  4. Ativá-lo

     swapon /swapfile
    
  5. Adicioná-lo à tabela do sistema de arquivos para que esteja lá após a reinicialização:

     echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
    
  6. Definir a swappiness para 10 para que seja usada apenas como um buffer de emergência

     sysctl -w vm.swappiness=10
     echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
    

O processo inteiro como um único script para copiar e colar:

install -o root -g root -m 0600 /dev/null /swapfile
fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
sysctl -w vm.swappiness=10
echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
96 curtidas