Aumento de swap a quente no Linux

Aumento de swap a quente no Linux

Recentemente meu servidor começou a fazer grandes tarefas no banco de dados consumindo muito da memória e também do swap. Chegou um momento em que o swap ficou zerado e isso consequentemente ele ficou lento. Veja o que eu fiz para resolver o problema aumentando temporariamente o swap.

O kswapd tentava liberar memória e ficava consumindo 95% do processamento do servidor o que deixava o processamento dos usuários mais lento ainda. Uma alternativa que usei foi expandir o tamanho do meu swap para que o kswapd parasse de trabalhar e liberasse recurso de processamento para o banco de dados. Como ele tinha 4GB, resolvi expandir para mais 4GB. O processo todo levou em torno de 5 minutos e 10 minutos depois meu banco de dados estava em seu estado normal de processamento. Vamos aos passos.

Primeiro criei um arquivo de 4GB no / para o swap. Nesse caso, 4GB é determinado pelo parametro count. Você pode alterar esse valor para mais ou para menos, mas também pode usar um valor redondo, tipo 4000000.

# dd if=/dev/zero of=/swap bs=1024 count=4194304

Depois defini que o arquivo seria do tipo swap.

# mkswap /swap

Em seguida, tornei-o ativo, fazendo com que ele somasse ao swap já ativo.

# swapon /swap

Em alguns segundos esse valor foi somado à area de swap liberando o trabalho do swapd e consequentemente liberando as tarefas do banco de dados. Eu tinha uma média de 60 processos travados, que foi liberado completamente após uns 10 minutos.

Eu não fiz o teste ainda, mas pelo que diz o manual, essa área de memória não será utilizada quando o servidor for restartado, ou seja, quando eu reiniciar o meu servidor, ele vai voltar aos 4GB iniciais de swap.

Espero que essa dica seja útil a mais alguém assim como foi útil para mim.

About the Author

Casado, pai de família, autodidata e amante de tecnologia. Especialista em PHP, MySQL e PostgreSQL, certificado em RedHat e formando em Gestão de TI.

Deixar um comentário

Seu endereço de email não será publicado.