Sidekiq потребляет слишком много памяти (используется: 522.12M)..., перезагрузка

В логах всё чаще появляются эти ошибки. Стоит ли немного увеличить лимит RSS для Sidekiq в /var/discourse/containers/app.yml:

env:
  SIDEKIQ_MEMORY_KILLER_MAX_RSS: 700

Или это нормально и можно игнорировать?

 free -h
              total        used        free      shared  buff/cache   available
Mem:          5.8Gi       3.6Gi       227Mi       310Mi       2.0Gi       1.6Gi
Swap:         1.0Gi        42Mi       981Mi

Вот что сработало именно для меня.

После мониторинга использования памяти и корректировки моих настроек мне удалось прекратить частые сообщения в логе “Sidekiq потребляет слишком много памяти…”.

Я внес это изменение в свой файл /var/discourse/containers/app.yml:

  UNICORN_WORKERS: 4
  UNICORN_SIDEKIQ_MAX_RSS: 700

Изначально я установил UNICORN_WORKERS равным 8, что было слишком агрессивно и оставляло очень мало запаса для Sidekiq, PostgreSQL, Redis и операционной системы.

Снижение количества воркеров до 4 освободило значительный объем памяти.

Затем я увеличил лимит RSS для Sidekiq со значения по умолчанию (~500 МБ) до 700 МБ, что дает Sidekiq немного больше пространства для маневра перед автоматической перезапуском.

Пока что Sidekiq стабилизировался, а использование памяти теперь находится в гораздо более безопасной зоне: чуть более 1 ГБ переместилось из используемой памяти в кэшированную и доступную память.

Оставляю это здесь на случай, если это окажется полезным или послужит подсказкой для кого-либо еще с подобными проблемами. Будет интересно посмотреть, сохранится ли эта стабильность после недели работы без перезагрузки; если да, я отмечу тему как решенную.

У меня тоже недавно появлялось это сообщение, и я настроил так же, как ты (до 1 ГБ), после чего ошибка больше не возникала :slight_smile:

Подтверждено, что изменения сработали. Последняя перезагрузка Sidekiq была 11 окт, 12:48.

Статистика памяти сегодня:

На форумах есть полезные темы (ссылки выше), которые помогли. Надеюсь, это также поможет кому-то ещё, кто сталкивается с подобными проблемами.

Я обнаружил, что мой форум не получает и близко того трафика, который требуется для 8 воркеров. Даже двух было бы достаточно.

Тем не менее, на моём сервере память кажется основным/будущим узким местом, но я планирую продолжать запускать ВМ того же размера. Поскольку своп находится на очень быстрых NVMe в RAID 10, я в будущем добавлю zswap и обновлю эту тему в ближайшие годы, если/когда трафик потребует этого.