Digiaru

Digiaru started this conversation 1 week ago.

Memory leak in long-running Node.js process: steady increase in heap usage

My Node.js service consumes more memory over time—even without increased load—and eventually crashes with heap out of memory. What's likely causing this leak?

Kar

Posted 1 week ago

Memory leaks in Node.js often result from lingering references such as: • Global variables or unbounded caches • Event listeners, timers, or intervals not cleared • Closures capturing unused data or holding persistent context • Improper stream handling or database connection leaks Stack Overflowmarkaicode.com+9coderkiran.com+9infinitejs.com+9markaicode.com 🛠️ How to Fix:

  1. Monitor memory usage via process.memoryUsage() and heap snapshots using Chrome DevTools, Clinic.js, or heapdump.
  2. Audit and remove unused event listeners, timers, and intervals.
  3. Avoid global variables; limit cache size or expiration.
  4. Use weak references (WeakMap, WeakRef) for observer patterns.
  5. Ensure proper cleanup of database or file streams.
  6. Restart long-lived processes via process managers (e.g. PM2) if memory rises beyond threshold.

🏷️ Category for All Issues Backend → Node.js → HTTP Networking & Performance / Memory Management


🧷 Suggested Tags for Posting vbnet Copy code nodejs, fetch, undici, timeout, network-error, connectTimeout, headersTimeout, memory-leaks, event-loop, agent