Erreurs OOM de PostgreSQL ?

Il semble que toutes les 30 minutes environ, je reçoive cette erreur :

ActiveRecord::ConnectionNotEstablished : la connexion au serveur sur la socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : FATAL : le système de base de données est en mode de récupération

J’ai constaté que cela correspondait à des baisses de mémoire et les journaux PostgreSQL suggèrent une erreur OOM (Out Of Memory).

free -h

total used free shared buff/cache available
Mem: 7.8Gi 4.0Gi 142Mi 3.4Gi 3.7Gi 156Mi
Swap: 2.0Gi 1.4Gi 659Mi

Mais j’ai du mal à déterminer où va la mémoire.
J’ai la configuration suivante : 8 Go de mémoire / 4 vCPU AMD / 160 Go de disque

J’ai récemment réduit la taille de cette machine par rapport à une machine plus puissante, ce qui pourrait être le problème. Mais j’ai mis à jour mon app.yml et reconstruit Discourse depuis lors, donc je ne sais pas d’où pourrait provenir le problème.

app.yml :

UNICORN_WORKERS: 4
UNICORN_SIDEKIQ_MAX_RSS: 1000

Des conseils ?

Et pendant que j’écrivais ceci, je pense avoir trouvé le problème

Je devais ajuster ceci dans mon app.yml de 4GB à 2GB

 db_shared_buffers: “2048MB”

Je vérifierai dans environ 30 minutes pour voir si cela fonctionne. Et je vais maintenir le sujet en tête au cas où d’autres rencontreraient le même problème à l’avenir.

Mise à jour : il semble qu’il faut une reconstruction complète pour que les changements prennent effet.

3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.