Estou executando dois aplicativos baseados em Java no meu servidor com 32 GB de RAM, 16 núcleos de CPU. Além disso, eu tenho apenas o servidor da comunidade MySQL 5.6.16. Os aplicativos Java recebem 10 GB de memória total. O Xmx e o Xms são os mesmos para ambos os aplicativos.
Agora, o problema está no período de tempo (em cerca de 3-4 horas). O Linux atribui memória livre inteira ao cache e os aplicativos Java diminuem drasticamente. Assim que eu limpo a memória cache, os aplicativos começam a responder normalmente.
Aqui está a saída do comando free:
$ free -m
total used free shared buffers cached
Mem: 32095 31767 328 0 1380 11245
-/+ buffers/cache: 19141 12953
Swap: 29999 3918 26081
A utilização da memória heap + não heap para ambos os aplicativos Java não está ultrapassando 75% a qualquer momento.
Qual poderia ser a razão por trás disso? Este problema de gerenciamento de memória do Linux?
Obrigado antecipadamente
Tags performance java cache memory jvm