PostgreSQL et l'OOM Killer : Ubicloud choisit le strict memory overcommit

Original : PostgreSQL and the OOM Killer: Why We Use Strict Memory Overcommit

Pourquoi c'est important

La stabilité des bases de données managées est un critère clé pour les entreprises migrant vers le cloud.

Ubicloud explique pourquoi son service PostgreSQL managé utilise le mode « strict memory overcommit » sous Linux afin de prévenir les interruptions imprévues causées par l'OOM Killer du noyau Linux sur les instances de base de données en production.

Dans un article technique publié sur son blog, Ubicloud détaille la problématique de l'OOM Killer (Out-Of-Memory Killer) de Linux et son impact sur les instances PostgreSQL. Par défaut, Linux autorise l'« overcommit » mémoire : il alloue de la mémoire virtuelle au-delà de la RAM physique disponible, en pariant que toutes les allocations ne seront pas utilisées simultanément. Lorsque la mémoire physique vient à manquer, l'OOM Killer intervient et termine brutalement des processus, pouvant tuer des processus PostgreSQL critiques et provoquer des interruptions de service non planifiées. Pour éviter ce comportement imprévisible, Ubicloud configure ses serveurs PostgreSQL avec le paramètre noyau `vm.overcommit_memory=2` (strict overcommit), qui refuse toute allocation mémoire dépassant un seuil défini. Cette approche garantit que PostgreSQL ne se voit jamais allouer plus de mémoire qu'il ne peut réellement utiliser, éliminant ainsi le risque d'élimination par l'OOM Killer. Ubicloud souligne que cette configuration est particulièrement adaptée aux environnements de bases de données managées où la stabilité et la prévisibilité priment sur la densité d'allocation mémoire.

Source

ubicloud.com — Lire l'original →