Como liberar a memória física e virtual utilizada do servidor mysql?

Como liberar a memória física e virtual utilizada do servidor mysql?

Vários scripts php são executados via crontab no meu CentOS 6.5, cada script php contém pelo menos uma solicitação de banco de dados. Dependendo do tamanho e tipo do objeto php, muita memória física é alocada pelo serviço mysqld em alguns casos específicos.

Às vezes, há apenas 15 MB de memória livre de 1,7 GB, a memória swap também é alocada talvez para 95% de uso. Para liberar a memória do servidor a única solução alternativa é reiniciar o servidor mysqld, mas depois de alguns dias a memória está quase cheia novamente.

Por ignorar a reinicialização do mysqld, tentei liberar o cache de consulta usando RESET QUERY CACHE;e FLUSH QUERY CACHE;mas nada foi alterado no status da memória. Também tentei executar, sync && echo 3 | sudo tee /proc/sys/vm/drop_cachesmas o status da memória é o mesmo novamente.

Você sabe como liberar a memória física e virtual, por exemplo, após cada execução de script sem reiniciar o servidor mysql?

Responder1

Se for o MySQL consumindo toda a memória, você terá que diminuir seus valores ou aumentar a RAM do servidor. Se você disse ao MySQL que ele pode ter 16 GB de RAM, mas apenas 8 GB estão disponíveis, bem, então as coisas acontecem.

Você não organiza uma festa para 20 pessoas em um quarto de hotel comum apenas para descobrir que o quarto é muito pequeno e tenta novamente na noite seguinte, esperando que você possa acomodar 20 pessoas lá. Você reserva uma sala maior ou convida menos pessoas.

informação relacionada