Detect and fix memory leaks using heap snapshots, memory profiling, and leak detection tools. Use when investigating memory growth, OOM errors, or optimizing memory usage.
Identify and fix memory leaks to prevent out-of-memory crashes and optimize application performance.
Minimal working example:
import v8 from "v8"; import fs from "fs"; class MemoryProfiler { takeSnapshot(filename: string): void { const snapshot = v8.writeHeapSnapshot(filename); console.log(`Heap snapshot saved to ${snapshot}`); } getMemoryUsage(): NodeJS.MemoryUsage { return process.memoryUsage(); } formatMemory(bytes: number): string { return `${(bytes / 1024 / 1024).toFixed(2)} MB`; } printMemoryUsage(): void { const usage = this.getMemoryUsage(); console.log("Memory Usage:"); console.log(` RSS: ${this.formatMemory(usage.rss)}`); console.log(` Heap Total: ${this.formatMemory(usage.heapTotal)}`); console.log(` Heap Used: ${this.formatMemory(usage.heapUsed)}`); console.log(` External: ${this.formatMemory(usage.external)}`); // ... (see reference guides for full implementation)
Detailed implementations in the references/ directory:
references/