Break-Fix : fuite mémoire dans une API Node.js
Incident — L'API catalogue (gérée par PM2) redémarre plusieurs fois par jour.
pm2 listpuispm2 logs catalogue --lines 20 --nostream: cause des redémarrages →answer cause <memoire|cpu|disque|reseau>- Le cache de
~/catalogue/cache.jsest unMapqui ne supprime jamais rien. Remplacez-le parnew LRUCache({ max: 5000, ttl: 600000 })(modulelru-cache:const { LRUCache } = require("lru-cache")) - Dans
ecosystem.config.js, ajoutez un garde-foumax_memory_restart: "400M"etnode_args: "--max-old-space-size=384" - Rechargez sans coupure :
pm2 reload ecosystem.config.js(depuis~/catalogue)
Contenu Premium+
Ce contenu est inclus dans l'offre Premium+. Le titre et le résumé restent visibles pour vous aider à choisir.
Tâches
- Cause identifiée
- Cache borné
- Garde-fous et rechargement