Назад | Перейти на главную страницу

Сбой сервера GoogleCE, может быть связано высокое использование памяти Fluentd (ruby)?

Я использую небольшой сервер (f1-micro) в Google GCE. Этот сервер действует как обратный прокси, поэтому на нем был установлен только небольшой NGINX, который просто прокси для функции Google Cloud. Использование очень низкое, трафик практически отсутствует.

Однако примерно раз в 1 месяц (а может быть и чаще) сервер вылетает без видимой причины. Глядя в консоль, загрузка ЦП зашкаливает, доступ по SSH не работает, и единственное решение - убить его и перезапустить сервер. Часто я также вижу большое количество дисковых операций ввода-вывода.

Зайдя на сервер, я заметил довольно большое использование памяти демоном fluentd, а точнее процессом ruby, вывод top ниже:

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                        
   1123 root      20   0   40.7g   1.3g   1.3g S   0.7 233.1   0:40.79 ruby       
    867 ?        Sl     0:00  \_ containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/aec49f162b96e0a58522a7ccdee023ad01f7abefbf996352bf4fe9e4fc976465 -address /run/containerd/containerd.sock -container
    897 ?        Ssl    0:05  |   \_ /opt/google-fluentd/embedded/bin/ruby /usr/sbin/google-fluentd
   1123 ?        Sl     0:40  |       \_ /opt/google-fluentd/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/google-fluentd --under-supervisor

Это примерно после 12 часов работы сервера. Использование памяти - это всего лишь предположение, но оно может объяснить дисковый ввод-вывод (использование подкачки). Есть какие-нибудь подсказки, почему это происходит?

С уважением,

Jeroen

Взгляните на документация:

При установке агента ведения журнала требуется минимум 250 МиБ памяти, но рекомендуется 1 ГиБ.

и потому что f1-micro у экземпляра всего 614 МБ ОЗУ, это может быть причиной проблемы. Я проверил тестовый экземпляр, и сразу после запуска у него очень ограниченный объем свободной памяти.

Google Fluentd предварительно настроен по умолчанию, но вы можете попробовать настроить его, выполнив следующие действия. документация, например, вы можете изменить размер буферы. Также взгляните на это рекомендации. На мой взгляд, в таком случае лучше попробовать хотя бы [g1-small][5] экземпляр с большим объемом памяти или отключить google-fluentd сервис, если он вам не нужен.