Tomcat 在 8 GB 執行個體上讓 CPU 100%,但在 16GB RAM 執行個體上運作良好

Tomcat 在 8 GB 執行個體上讓 CPU 100%,但在 16GB RAM 執行個體上運作良好

我有一個 Java Web 應用程式在 AWS ubuntu ec2 實例上的 tomcat 8.5.x 上運行。

我正在運行這個應用程式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 RAM 的實例,在大約 24 小時 100% CPU 後,也發生了同樣的問題。最終我將其移回 m5.xlarge 實例,10 多天後我的應用程式運作良好。用法也一樣。

現在,我無法調試為什麼在我的 RAM 使用量從未超過 5 GB 的情況下,8 GB 實例上卻出現 100% CPU 使用率。我還沒有針對生產環境調整tomcat,我使用的是預設值。有什麼可能的原因我應該調查嗎?

相關內容