无论实例分配了多少 RAM,有一个 ruby 进程始终处于 50% 的 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 被占用之前使服务器超负荷并崩溃。