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
An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.