Debuguer les fuites de mémoire dans une application Node.js

renee-sanchez 01/05/2026
RÉSOLU

Hello, j'ai une application Node.js qui tourne en conteneur et qui monte progressivement en consommation RAM jusqu'à l'OOM Killer. J'ai déjà utilisé heapdump, mais je n'arrive pas à isoler l'objet qui retient les références. Quelqu'un a une méthodologie propre pour profiler ça en production ?

01/05/2026 à 07:01

10 commentaires

anne71
Membre
Avatar de anne71
anne71
Membre

As-tu essayé d'utiliser --inspect et de te connecter avec Chrome DevTools pour prendre plusieurs snapshots ?

01/05/2026 à 20:46

Oui, mais le dump est trop lourd pour être analysé localement. Le conteneur plante avant même que je puisse exporter le snapshot complet.

02/05/2026 à 16:03
mbarbier
Membre
Avatar de mbarbier
mbarbier
Membre

Utilise clinic.js. C'est beaucoup plus efficace pour visualiser les problèmes de mémoire en temps réel sans saturer ta machine.

03/05/2026 à 12:16

Connais pas. C'est safe en prod ?

04/05/2026 à 07:33
bclement
Membre
Avatar de bclement
bclement
Membre

Oui, clinic doctor est très léger. Ça génère un rapport HTML complet.

05/05/2026 à 01:26
anne71
Membre
Avatar de anne71
anne71
Membre

Vérifie aussi tes EventEmitter. Une fuite classique, c'est l'ajout de listeners sans les supprimer.

05/05/2026 à 21:06

Bien vu, j'ai trouvé 200 listeners sur un objet socket. Je corrige ça.

06/05/2026 à 15:03
mbarbier
Membre
Avatar de mbarbier
mbarbier
Membre

Top. N'oublie pas de monitorer le process.memoryUsage() avec Prometheus pour confirmer la stabilisation.

07/05/2026 à 07:52
bclement
Membre
Avatar de bclement
bclement
Membre

Passe aussi sur une version récente de Node.js, le GC a été largement amélioré.

08/05/2026 à 07:31

Merci à tous, la fuite était bien liée à des listeners persistants. C'est stable maintenant.

09/05/2026 à 07:25

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