【问题标题】:Google Cloud Platform App Engine Node Flexible Instance Ruby sitting at 50% RAM usageGoogle Cloud Platform App Engine 节点灵活实例 Ruby 占用 50% 的 RAM
【发布时间】:2017-12-11 19:22:50
【问题描述】:

有一个 ruby​​ 进程始终处于 50% 的 RAM 利用率,无论实例分配了多少 RAM。我在 flex 环境中运行 Node,其中包含一个简单的 express 应用程序,该应用程序通过 sequelize 连接到 Cloud SQL 实例。我尝试将 RAM 增加到 4GB,并且它继续保持 50% 的使用率。

看起来流程是 /opt/google-fluentd/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/google-fluentd --log /var/log/google-fluentd/google-fluentd.log --under-supervisor

我经常用完 RAM,当我这样做时,实例会自动重启并抛出 502,直到它重新联机。只是似乎无法弄清楚为什么一个 ruby​​ 进程会在我的节点实例上占用如此多的 RAM。

该服务的行为将与您预期的占用内存的高 RAM 使用进程一样;即当需要 RAM 时,它会刷新进程并允许分配该 RAM。问题是空间太小,以至于当我的节点服务器需要更多 RAM 并占用 50MB 时,它会在 RAM 被占用之前将服务器顶满并崩溃。

【问题讨论】:

  • 有没有人可以解决这个问题?我们对 Golang 应用程序也有同样的问题; fluentd 会消耗内存,直到应用程序关闭。我怀疑 OOM 杀手正在关闭进程以为 fluentd 腾出空间,但我们无法确保 fluentd 消耗更少的内存

标签: google-app-engine google-cloud-platform fluentd google-appengine-node


【解决方案1】:

我相信这是目前正在处理的known issue。目前还没有修复的预计到达时间,但他们说正在处理中。

【讨论】:

    【解决方案2】:

    我的 RAM 使用似乎恢复正常。一定是在谷歌方面修复的。如果您仍然遇到问题,请更新您的 gactions 并运行另一个部署。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 2017-04-11
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      相关资源
      最近更新 更多