Voici ce qui a fonctionné pour moi.
Après avoir surveillé l’utilisation de la mémoire et ajusté mes paramètres, j’ai réussi à arrêter les messages fréquents « Sidekiq consomme trop de mémoire… » /log.
J’ai apporté cette modification dans mon /var/discourse/containers/app.yml :
UNICORN_WORKERS: 4
UNICORN_SIDEKIQ_MAX_RSS: 700
À l’origine, j’avais réglé UNICORN_WORKERS sur 8, ce qui était trop agressif et laissait très peu de marge pour Sidekiq, PostgreSQL, Redis et le système d’exploitation.
La réduction à 4 workers a libéré une quantité significative de mémoire.
Ensuite, j’ai augmenté la limite RSS de Sidekiq, qui était par défaut d’environ 500 Mo, à 700 Mo, ce qui donne à Sidekiq un peu plus de marge avant d’être automatiquement redémarré.
Jusqu’à présent, Sidekiq s’est stabilisé, et l’utilisation de la mémoire se situe maintenant dans une zone beaucoup plus sûre, avec un peu plus de 1 Go de mémoire déplacé de la mémoire utilisée vers la mémoire mise en cache et disponible.
Je laisse cela ici si cela s’avère utile ou comme indice pour toute autre personne ayant des problèmes similaires. Il sera intéressant de voir si cela tient et est plus stable après une semaine de fonctionnement, si c’est le cas, je marquerai comme résolu.