Linux: Adicionando memória virtual “Swap” ao VPS

Vamos mostrar neste tutorial como adicionar uma partição Swap (memória RAM virtual) em um servidor Linux.

Em nossa nova série de tutoriais apresentamos uma solução econômica de hospedagem (VPS com Wordpress e Servidor de Emails). Clique neste link e veja como Instalar um servidor Debian 7 e ISPConfig 3.

Nas próximas semanas estaremos publicando vários artigos melhorando o desempenho do servidor. Hoje falaremos da memória de troca, também conhecida como Memória Swap.

Se você seguiu nossas dicas até aqui e instalou o ISPConfig com WordPress e MySQL num servidor de 5 dólares, talvez esteja com erros de comunicação com o banco de dados. Isto se deve pelo fato de que o MySQL está sendo desligado por falta de memória. Uma solução seria contratar um servidor com mais memória RAM, porém ativar a partição virtual “Swap” também soluciona o problema.

* Para verificar se o MySQL está sendo desligado por falta de memória abra este arquivo /var/log/mysql/error.log e procure nas últimas linhas do log por uma mensagem parecida com esta: “150106 18:04:02 InnoDB: Fatal error: cannot allocate memory for the buffer pool”.

Instalando e configurando a Memória Swap:

* Os comandos abaixo referem-se ao nosso servidor Debian 7.0 Wheezy, que <instalamos anteriormente>. Lembre-se de fazer login como “root” para executar os comandos de instalação e configuração. Editaremos os arquivos usando o WinSCP e Notepad++ conforme mostramos <neste tutorial>.

1.Verifique se a memória de troca já não está instalada (Ambos os comandos abaixo podem ser usados para checar. *Se não houver Swap configurada: com o comando swapon mostrará uma tabela em branco, e com o comando free -m mostrará todos os valores zerados na linha “Swap:”

> swapon -s
> free -m

2.Verifique também o espaço livre no HD do servidor. Se você segue nossos tutoriais e configurou o servidor de 5 dólares, o espaço total disponível é 20Gb. Com a instalação do Debian e WordPress deve estar sobrando uns 17Gb, digite o seguinte comando para exibir as partições montadas (Na última coluna “Mounted on”, a linha que nos interessa é a primeira que contém a partição raiz “/”):

> df -h

3.Crie a partição Swap em disco.

* O tamanho da partição é discutível, existindo um consenso de que o dobro da memória RAM física é o suficiente para o sistema. Mas e se o servidor tiver 8Gb de RAM e 20Gb de HD? Obviamente você não criaria uma partição Swap de 16Gb. Em nosso caso não precisamos criar exatamente com o dobro da RAM, que é 512Mb. Se você não planeja reparticionar o HD para revenda de hospedagem então podemos usar um pouco mais de espaço para a Swap, lembre-se que nosso VPS está em um disco SSD (a memória de troca é um pouco mais lenta que a RAM por ser gravada em disco, porém temos um SSD 🙂). Faremos a configuração neste servidor com 2Gb de Swap, ajuste conforme necessário mas não coloque valores muito altos para não se arrepender depois.

> fallocate -l 2G /swapfile

4.Digite o comando abaixo para verificar se criou corretamente:

> ls -lh /swapfile

* * Deverá aparecer uma linha parecida com esta:

-rw-r–r– 1 root root 2.0G Apr 3 14:19 /swapfile

5.Agora vamos acertar as permissões do arquivo e habilitar o sistema, transformando a partição em uma memória Swap:

> chmod 600 /swapfile
> mkswap /swapfile
> swapon /swapfile

* * Após digitar os comandos acima você já pode ver que o Swap está ativo. Verifique com os comandos descritos no passo 1.

6.Nossa memória virtual já está pronta e funcionando. Porém, se reiniciarmos o servidor teríamos que refazer todos os passos novamente. Para tornar a partição permanente edite o arquivo /etc/fstab (note que fstab é um arquivo e não um diretório) e insira uma nova linha, salvando após editar:

/swapfile   none    swap    sw    0   0

* * Separe cada coluna por espaço ou TAB, não importa. Digite ENTER após o último texto, tem que existir uma linha em branco no final.

7.O arquivo “fstab” é essencial para a inicialização do servidor, então se houver algum erro na edição você terá um pouco de dor de cabeça para consertar. Vamos evitar isso e testar se está tudo certo, digite o comando:

> mount -a

* * Se não houver problemas o resultado do comando será nulo, não exibindo nada na tela.

8.Pode-se monitorar o uso da memória digitando o comando abaixo (o parâmetro -n 5 define uma nova leitura a cada 5 segundos):

> watch -n 5 free -m

* * Pra sair da tela do watch digite “CTRL + C”


Conclusão:

Seguindo as etapas acima é possível extinguir ou minimizar os problemas críticos ao sistema gerados por OOM (Out Of Memory). Para ferramentas que sobrecarregam o banco de dados, como o WordPress por exemplo, configurar a memória Swap é essencial.

* * Pode-se ainda “tunar” a configuração da memória virtual para que use o arquivo de trocas com menor frequência, mas em nosso caso não haverá necessidade.


 Linux: Adicionando memória virtual “Swap” ao VPS
Tutorial ISPConfig 3 〉〉 ÍNDICE ANT PROX

Gerenciamento em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing. Envie um email para [email protected] e solicite uma análise gratuita!