Вот что сработало именно для меня.
После мониторинга использования памяти и корректировки моих настроек мне удалось прекратить частые сообщения в логе “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 ГБ переместилось из используемой памяти в кэшированную и доступную память.
Оставляю это здесь на случай, если это окажется полезным или послужит подсказкой для кого-либо еще с подобными проблемами. Будет интересно посмотреть, сохранится ли эта стабильность после недели работы без перезагрузки; если да, я отмечу тему как решенную.