Apache Tomcat 在 Google Compute Engine f1-micro 中崩溃

Apache Tomcat Crashes In Google Compute Engine f1-micro

我是 运行 Apache 鳄梨酱 Google Cloud Compute Engine f1-micro 和 CentOS 7,因为它是免费的。

鳄梨酱可以正常运行一段时间(一个小时左右)然后意外崩溃。我在 Chrome 中收到 ERR_CONNECTION_REFUSED 错误,当 运行 htop 时,我可以看到所有 tomcat 进程都已停止。要再次获得它 运行 我只需要重新启动 tomcat.

我有一条消息说 "Instance "guac“被过度使用。考虑在计算引擎控制台中切换到机器类型:g1-small(1 个 vCPU,1.7 GB 内存)”。

我曾尝试将内存分配限制为 tomcat,但这似乎不起作用。

有什么建议吗?

我认为 ERR_CONNECTION_REFUSED 的原因可能是由于 VM 实例资源不足,为了保持 OS 正常运行,进程管理器关闭了一些进程。 SSH 是这些进程之一,一旦您重新启动虚拟机,资源将完全恢复运行。

根据 "over-utilization" 通知推荐 g1-small(1 vCPU,1.7 GB 内存)”,请注意,f1-micro is a shared-core micro machine type with 0.2 vCPU, 0.60 GB of memory, backed by a shared physical core and is only ideal for running smaller non-resource intensive applications.

根据您的 Tomcat 配置,另请注意:

Connecting to a database is an intensive process.

正在用 Google Marketplace 创建一个 Tomcat,默认的 VM 设置是“VM instance: 1 vCPU + 3.75 GB memory (n1-standard-1) 所以升级到机器类型:g1-small(1 vCPU,1.7 GB 内存)所以应该是您的理想选择。

为什么推荐g1小机型。请注意,Compute Engine 使用 Compute Engine 仪表板上报告的相同 CPU 利用率数字来确定要提出的建议。这些数字基于您的实例在 60 秒间隔内的平均利用率,因此它们不会捕获短暂的 CPU 使用高峰。

因此,使用高峰较短的应用程序可能需要 运行 在比 Google 推荐的机器类型更大的机器类型上,以适应这些高峰”

总而言之,我的建议是按照建议进行升级。另请注意,当 VM 未充分利用或过度利用时,合理化会发出警告,在这种情况下,建议因过度利用而增加 VM 大小,请记住,这只是基于可用数据的建议。