Tomcat genera CPU al 100% en una instancia de 8 GB pero funciona bien en una instancia de 16 GB de RAM

Tomcat genera CPU al 100% en una instancia de 8 GB pero funciona bien en una instancia de 16 GB de RAM

Tengo una aplicación web Java ejecutándose en tomcat 8.5.x en la instancia AWS ubuntu ec2.

Estaba ejecutando esta aplicación en unm5.xgrandeinstancia que proporciona 4 vCPU y 16 GB de RAM. En este caso, el uso de CPU de mi aplicación fue de alrededor del 60% y el uso de RAM fue de alrededor de 5 GB.

Debido a que el uso de RAM es bastante menor, pensé en mover esta aplicación a una instancia optimizada para computación para ahorrar costos. Por lo tanto, lo moví ac5.xgrandeinstancia que proporciona 4 vCPU y 8 GB de RAM. En este caso, el uso de mi aplicación también fue el mismo, alrededor de 5 GB de RAM y 60 % de CPU. Funcionó bien durante casi 24 horas, después de lo cual, de repente, el uso de la CPU llegó al 100% y nunca bajó, lo que resultó en que la aplicación no respondiera.

Intenté usarm5.grandeinstancia que también proporciona 8 GB de RAM, el mismo problema ocurrió allí también, después de aproximadamente 24 horas 100% de CPU. Al final, lo moví de nuevo a la instancia m5.xlarge y hace más de 10 días que mi aplicación funciona bien. El uso también es el mismo.

Ahora no puedo depurar por qué este uso del 100% de la CPU ocurre en una instancia de 8 GB cuando mi uso de RAM nunca supera los 5 GB. No he ajustado Tomcat para el entorno de producción, estoy usando la configuración predeterminada. ¿Existe alguna causa probable que deba investigar?

información relacionada