
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:
- Monitor memory usage via process.memoryUsage() and heap snapshots using Chrome DevTools, Clinic.js, or heapdump.
- Audit and remove unused event listeners, timers, and intervals.
- Avoid global variables; limit cache size or expiration.
- Use weak references (WeakMap, WeakRef) for observer patterns.
- Ensure proper cleanup of database or file streams.
- 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