Google Cloud Platform App Engine Node Гибкий экземпляр Ruby использует 50 % оперативной памяти

Существует 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 МБ, он перегружает сервер и дает сбой до того, как будет присвоена оперативная память.


person Max Matthews    schedule 11.12.2017    source источник
comment
У кого-нибудь есть решение? У нас есть аналогичная проблема с приложением Golang; fluentd потребляет память до тех пор, пока приложение не закроется. Я подозреваю, что убийца OOM отключает процессы, чтобы освободить место для fluentd, но у нас нет возможности гарантировать, что fluentd потребляет меньше памяти.   -  person abgordon    schedule 14.12.2017


Ответы (2)


Я считаю, что это известная проблема, над которой в настоящее время работают. ETA для исправления пока нет, но говорят, что над этим работают.

person Patrick Jones    schedule 21.02.2018

Кажется, что мое использование оперативной памяти вернулось к норме. Должно быть, это было исправлено на стороне Google. Если у вас все еще есть проблема, обновите gactions и запустите еще одно развертывание.

person Max Matthews    schedule 19.03.2018