Hier ist, was für mich funktioniert hat.
Nachdem ich die Speichernutzung überwacht und meine Einstellungen angepasst hatte, konnte ich die häufigen Meldungen „Sidekiq verbraucht zu viel Speicher…“ /log stoppen.
Ich habe diese Änderung in meiner /var/discourse/containers/app.yml vorgenommen:
UNICORN_WORKERS: 4
UNICORN_SIDEKIQ_MAX_RSS: 700
Ursprünglich hatte ich UNICORN_WORKERS auf 8 gesetzt, was zu aggressiv war und wenig Spielraum für Sidekiq, PostgreSQL, Redis und das Betriebssystem ließ.
Die Reduzierung auf 4 Worker hat erheblich viel Speicher freigegeben.
Dann habe ich das Sidekiq RSS-Limit von den Standardeinstellungen (ca. 500 MB) auf 700 MB erhöht, was Sidekiq etwas mehr Spielraum gibt, bevor es automatisch neu gestartet wird.
Bisher hat sich Sidekiq stabilisiert, und die Speichernutzung liegt jetzt in einer viel sichereren Zone, wobei etwas mehr als 1 GB Speicher von genutztem Speicher zu gecachedem und verfügbarem Speicher verschoben wurde.
Ich hinterlasse dies hier, falls es hilfreich ist oder als Hinweis darauf, was andere mit ähnlichen Problemen untersuchen sollten. Es wird interessant sein zu sehen, ob dies eine Woche lang stabil bleibt, und wenn ja, werde ich es als gelöst markieren.