Pesquisa de site

Como aumentar a memória swap no Ubuntu Linux


Uma das maneiras mais simples de observar problemas de falta de memória em aplicativos é aumentar o tamanho do swap em seu servidor. Neste artigo, explicaremos como adicionar um arquivo swap a um servidor Ubuntu.

Etapa 1: verificar as informações de troca

Antes de começarmos, primeiro certifique-se de verificar se o sistema já possui espaço swap disponível executando o seguinte comando swapon.

sudo swapon --show

Se você não vir nenhuma saída, significa que seu sistema não tem espaço de troca disponível no momento.

Você também pode confirmar se não há espaço de troca disponível usando o comando free.

free -h

Você pode ver na saída acima que não há troca ativa no sistema.

Passo 2: Verificando o Espaço Disponível na Partição

Para criar um espaço de troca, primeiro você precisa verificar o uso atual do disco e confirmar se há espaço suficiente para criar um arquivo de troca no sistema.

df -h

A partição com / tem espaço suficiente disponível para criar um arquivo de troca.

Etapa 3: Criando um arquivo de troca no Ubuntu

Agora criaremos um arquivo de troca chamado "swap.img" em nosso diretório root (/) do Ubuntu usando o comando fallocate com o tamanho de 1GB (você pode ajustar o tamanho conforme suas necessidades) e verifique o tamanho da troca usando o comando ls conforme mostrado.

sudo fallocate -l 1G /swap.img
ls -lh /swap.img

Na saída acima, você pode ver que criamos o arquivo de troca com a quantidade correta de espaço, ou seja, 1GB.

Etapa 4: habilitando o arquivo de troca no Ubuntu

Para habilitar o arquivo de troca no Ubuntu, primeiro você precisa definir as permissões corretas no arquivo para que apenas o usuário root tenha acesso ao arquivo.

sudo chmod 600 /swap.img
ls -lh /swap.img

Na saída acima, você pode ver que apenas o usuário root tem permissões de leitura e gravação.

Agora execute os seguintes comandos para marcar o arquivo como espaço de troca e permitir que o arquivo de troca comece a utilizá-lo no sistema.

sudo mkswap /swap.img
sudo swapon /swap.img

Verifique se o espaço de troca está disponível executando os comandos a seguir.

sudo swapon --show
free -h

A partir da saída acima, fica claro que nosso novo arquivo de troca foi criado com sucesso e nosso sistema Ubuntu começará a usá-lo conforme necessário.

Etapa 5: monte o arquivo de troca permanente no Ubuntu

Para tornar o espaço de troca permanente, você precisa adicionar as informações do arquivo de troca no arquivo /etc/fstab e verificá-las executando os seguintes comandos.

echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
cat /etc/fstab

Etapa 6: Ajustando as configurações de troca no Ubuntu

Existem algumas configurações que você precisa definir que afetarão o desempenho do seu Ubuntu ao usar o swap.

Ajustando o valor de troca

Swappiness é um parâmetro do kernel Linux que especifica quanto (e com que frequência) seu sistema troca dados da RAM para o espaço de troca. O valor padrão para este parâmetro é “60” e pode usar qualquer coisa de “0” a “100”. Quanto maior o valor, maior será o uso do espaço de troca pelo Kernel.

Primeiro, verifique o valor de troca atual digitando o seguinte comando.

cat /proc/sys/vm/swappiness

O valor atual de troca de 60 é perfeito para uso em desktop, mas para um servidor, você deve configurá-lo para um valor mais baixo, ou seja, 10.

sudo sysctl vm.swappiness=10

Para tornar esta configuração permanente, você precisa adicionar a seguinte linha ao arquivo /etc/sysctl.conf.

vm.swappiness=10

Ajustando a configuração de pressão do cache

Outra configuração semelhante que você pode querer alterar é vfs_cache_pression – esta configuração especifica quanto o sistema deseja armazenar em cache os detalhes de inode e dentry outros dados.

Você pode verificar o valor atual consultando o sistema de arquivos proc.

cat /proc/sys/vm/vfs_cache_pressure

O valor atual está definido como 100, o que significa que nosso sistema remove informações de inode do cache muito rapidamente. Sugiro que definamos uma configuração mais estável como 50.

sudo sysctl vm.vfs_cache_pressure=50

Para tornar esta configuração permanente, você precisa adicionar a seguinte linha ao arquivo /etc/sysctl.conf.

vm.vfs_cache_pressure=50

Salve e feche o arquivo quando terminar.

Etapa 7: Removendo um arquivo de troca no Ubuntu

Para remover ou excluir o arquivo de troca recém-criado, execute os seguintes comandos.

sudo swapoff -v /swap.img
sudo rm -rf /swap.img

Por fim, exclua a entrada do arquivo de troca do arquivo /etc/fstab.

Isso é tudo! Neste artigo, explicamos como criar um arquivo de troca em sua distribuição Ubuntu. Se você tiver alguma dúvida sobre este artigo, sinta-se à vontade para fazer suas perguntas na seção de comentários abaixo.