sexta-feira, 23 de agosto de 2013

MySQL - Gerenciamento de memória

Eu tenho trabalhado com o MySQL mas, nas versões para Ubuntu e Debian e versões mais atuais, os nós e nódulos da memória (cache) sempre estão cheios, e o MySQL acaba consumindo muita memória RAM.


Assim, sempre tive problemas em usar mais de uma base de dados. Em 24 horas, estava tendo que reiniciar o servidor umas 3 vezes, no mínimo, para o MySQL voltar a funcionar.

Um exemplo que acontecia sempre: de 10 bases de dados, 6 estavam funcionando normalmente, mas 4 simplesmente paravam de gravar os dados.

A solução:

# crontab -e

Adicione:

# m h   dom mon dow    command
0 * * * * /root/./germem

E crie o script germem:

#!/bin/bash
echo 3 > /proc/sys/vm/drop_caches

Obs.: Para o drop_caches, há opções de 1 a 3. Eu escolhi a 3, pois ela limpa os nós e nódulos da memória.