Erreur 'cgroup v2: memory limit exceeded' sous Linux

anais57 10/05/2026
RÉSOLU
anais57
Auteur Actif
Avatar de anais57
anais57
Auteur Actif

J'ai un processus qui se fait tuer par le kernel avec une erreur cgroup v2: memory limit exceeded. Pourtant, mon serveur a 64Go de RAM. Comment puis-je debugger quel processus consomme réellement cette mémoire dans le cgroup ?

10/05/2026 à 21:34

5 commentaires

zlambert
Membre Actif
Avatar de zlambert
zlambert
Membre Actif

Le problème est probablement que tu as une limite définie dans ton fichier memory.max du cgroup concerné. Vérifie le contenu du fichier pour voir la limite imposée.

11/05/2026 à 16:08
anais57
Auteur Actif
Avatar de anais57
anais57
Auteur Actif

J'ai vérifié, la valeur est bien celle que j'ai configurée. Pourquoi le processus est tué alors que je n'atteins pas cette limite selon top ?

12/05/2026 à 04:12
zlambert
Membre Actif
Avatar de zlambert
zlambert
Membre Actif

top ne voit pas toujours la mémoire cache ou les pages anonymes comptabilisées par les cgroups. Utilise systemd-cgtop pour avoir une vue précise de l'usage par cgroup en temps réel.

12/05/2026 à 16:26
anais57
Auteur Actif
Avatar de anais57
anais57
Auteur Actif

Ah, merci ! systemd-cgtop m'a montré que c'était effectivement un pic de mémoire cache qui déclenchait l'OOM Killer.

13/05/2026 à 06:23
anais57
Auteur Actif
Avatar de anais57
anais57
Auteur Actif

Problème résolu en ajustant memory.high au lieu de memory.max pour laisser le kernel gérer le reclaim.

13/05/2026 à 22:00

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire