Depois de mudar nosso servidor de banco de dados rico em memória + físico para grandes páginas, notamos um pequeno problema.
O uso de memória quase parece que há algum tipo de vazamento de memória.
Mas rodar FLUSH TABLES expurga cerca de 10gigs de memória usada (dependendo de quando o executamos, como em quanto tempo esperamos).
Anexado é um gráfico munin para mostrar esse uso de memória.
O que está nos causando a forçar FLUSH TABLES a cada 2 ou mais dias?
Notas sobre o gráfico anexado:
a) O bom uso da memória plana no início do gráfico é quando estávamos executando (Oracle) MySQL 5.6 SEM páginas grandes.
b) O uso de memória inclinada entre 10 e 11 foi quando estávamos executando o Percona 5.6 com páginas grandes. No final de 11, voltamos do Percona para o Oracle MySQL 5.6 (mas decidimos deixar páginas grandes).
c) O uso de memória inclinado entre 12-14,5 é quando voltamos ao (Oracle) MySQL 5.6 com grandes páginas ativadas. Achamos que esse uso crescente de memória foi causado por algum tipo de vazamento de memória no Percona. É por isso que voltamos para o (Oracle) MySQL 5.6. Mantendo páginas grandes.
d) A queda no uso de memória em torno de 14,5 é quando tentamos executar FLUSH TABLES (neste momento ainda executando o Oracle MySQL 5.6, sem reinicialização, apenas fazendo um FLUSH TABLES simples).
Após essa troca de ida e volta, aprendemos que a causa NÃO era percona 5.6, mas grandes páginas.
Então, para resumir:
O que está nos forçando a executar FLUSH TABLES a cada 2 ou mais dias para evitar a privação de memória com grandes páginas ativadas?
Eu entendo que podemos programar um FLUSH TABLES durante o horário de pico, mas gostaríamos de resolver isso corretamente.
Obrigado!