【问题标题】:Apache Tomcat Crashes In Google Compute Engine f1-microApache Tomcat 在 Google Compute Engine f1-micro 中崩溃
【发布时间】:2019-03-26 00:08:47
【问题描述】:

我正在使用 CentOS 7 的 Google Cloud Compute Engine f1-micro 上运行 Apache Guacamole,因为它是免费的。

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

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

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

有什么建议吗?

【问题讨论】:

    标签: apache tomcat google-cloud-platform google-compute-engine centos7


    【解决方案1】:

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

    根据“过度使用”通知推荐 g1-small(1 个 vCPU,1.7 GB 内存)”,请注意,f1-micro 是具有 0.2 个 vCPU,0.60 GB 内存的共享核心微型机器类型,由共享物理内核支持,仅适用于running smaller non-resource intensive applications.

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

    连接到数据库是一个密集的过程。

    使用 Google Marketplace 创建 Tomcat,默认 VM 设置是“VM 实例:1 vCPU + 3.75 GB 内存(n1-standard-1)所以升级到机器类型:g1-small(1 vCPU,1.7 GB 内存)所以在你的情况下应该是理想的。

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

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

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

    【讨论】:

    • 非常感谢您的回复!我完全理解升级的必要性,但要保持这个免费:有什么办法可以防止 VM 关闭进程?我意识到这是一个密集的过程,但它真的不应该受到用户的严重打击。
    • 此外,它似乎不是在连接负载最大时崩溃,而是在几分钟后崩溃。
    • 下面的community post 对如何限制tomcat 允许的最大内存有很好的建议。即使我推荐使用 Google Preemptible instances,仍然有与之关联的 cost,但处于较低端。尽管如此,还是有limitations
    猜你喜欢
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2018-02-14
    • 2018-04-28
    • 2021-05-07
    • 1970-01-01
    • 2014-01-23
    • 2017-05-04
    相关资源
    最近更新 更多