Break-Fix : fuite mémoire dans une API Node.js

Senior LinuxNode.js40 min80 XP

Incident — L'API catalogue (gérée par PM2) redémarre plusieurs fois par jour.

  1. pm2 list puis pm2 logs catalogue --lines 20 --nostream : cause des redémarrages → answer cause <memoire|cpu|disque|reseau>
  2. Le cache de ~/catalogue/cache.js est un Map qui ne supprime jamais rien. Remplacez-le par new LRUCache({ max: 5000, ttl: 600000 }) (module lru-cache : const { LRUCache } = require("lru-cache"))
  3. Dans ecosystem.config.js, ajoutez un garde-fou max_memory_restart: "400M" et node_args: "--max-old-space-size=384"
  4. 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

  1. Cause identifiée
  2. Cache borné
  3. Garde-fous et rechargement