Tomcat tornando a CPU 100% na instância de 8 GB, mas funcionando bem na instância de 16 GB de RAM

Tomcat tornando a CPU 100% na instância de 8 GB, mas funcionando bem na instância de 16 GB de RAM

Eu tenho um aplicativo da web Java em execução no Tomcat 8.5.x na instância AWS ubuntu ec2.

Eu estava executando este aplicativo em umm5.xgrandeinstância que fornece 4 vCPU e 16 GB de RAM. Neste caso, o uso da CPU do meu aplicativo foi de cerca de 60% e o uso de RAM foi de cerca de 5 GB.

Como o uso de RAM é bem menor, pensei em mover este aplicativo para uma instância otimizada para computação para economizar custos. Por isso, mudei parac5.xgrandeinstância que fornece 4 vCPU e 8 GB de RAM. Nesta instância também o uso do meu aplicativo foi o mesmo em torno de 5 GB de RAM e 60% de CPU. Funcionou bem por quase 24 horas, após as quais, de repente, o uso da CPU atingiu 100% e nunca caiu, o que resultou em um aplicativo que não respondeu.

Eu tentei usarm5.grandetambém uma instância que fornece 8 GB de Ram, o mesmo problema aconteceu lá também, após cerca de 24 horas com 100% de CPU. Por fim, mudei-o de volta para a instância m5.xlarge e já faz mais de 10 dias que meu aplicativo está funcionando bem. O uso também é o mesmo.

Agora não consigo depurar por que esse uso de 100% da CPU está acontecendo em uma instância de 8 GB quando meu uso de RAM nunca ultrapassa 5 GB. Não ajustei o Tomcat para ambiente de produção, estou usando configurações padrão. Existe alguma causa provável onde eu deveria investigar?

informação relacionada