Tomcat 在 8 GB 实例上 CPU 占用 100%,但在 16GB RAM 实例上运行良好

Tomcat 在 8 GB 实例上 CPU 占用 100%,但在 16GB RAM 实例上运行良好

我有一个在 AWS ubuntu ec2 实例上的 tomcat 8.5.x 上运行的 Java Web 应用程序。

我正在运行这个应用程序m5.xlarge实例提供 4 个 vCPU 和 16 GB RAM。在此实例中,我的应用程序的 CPU 使用率约为 60%,RAM 使用率约为 5 GB。

由于 RAM 使用量相当少,我考虑将此应用移至计算优化实例以节省成本。因此,我将其移至c5.xlarge实例提供 4 个 vCPU 和 8 GB RAM。在此实例上,我的应用程序使用率也相同,大约 5 GB RAM 使用率和 60% CPU。它运行良好近 24 小时,之后 CPU 使用率突然上升到 100%,并且从未下降,导致应用程序无响应。

我尝试使用m5.大实例也提供了 8 GB 的内存,同样的问题也发生了,大约 24 小时后 CPU 达到 100%。最后我将其移回 m5.xlarge 实例,10 多天后我的应用程序运行良好。使用情况也一样。

现在我无法调试为什么 8 GB 实例上的 CPU 使用率会达到 100%,而我的 RAM 使用率从未超过 5 GB。我尚未针对生产环境调整 tomcat,我使用的是默认设置。是否有任何可能的原因需要我调查?

相关内容