Существует ruby-процесс, который всегда использует 50% ОЗУ, независимо от того, сколько ОЗУ выделено экземпляру. Я запускаю Node в гибкой среде с простым экспресс-приложением, которое подключается к экземпляру Cloud SQL через sequenceize. Я попытался увеличить оперативную память до 4 ГБ, и она по-прежнему используется на 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
У меня часто заканчивается оперативная память, и когда я это делаю, экземпляр автоматически перезагружается и выдает 502, пока не вернется в сеть. Просто не могу понять, почему процесс ruby съедает так много оперативной памяти на моем экземпляре узла.
Служба будет вести себя так, как вы ожидаете от процесса с высоким использованием ОЗУ, удерживающего память; то есть, когда требуется ОЗУ, он сбрасывает процесс и позволяет выделить эту ОЗУ. Проблема в том, что запаса настолько мало, что, когда моему серверу узла требуется больше оперативной памяти и он занимает 50 МБ, он перегружает сервер и дает сбой до того, как будет присвоена оперативная память.