process.memoryUsage
const m = process.memoryUsage();// { rss, heapTotal, heapUsed, external, arrayBuffers }Periodic logging
Section titled “Periodic logging”setInterval(() => { const { rss, heapUsed, external } = process.memoryUsage(); console.log(JSON.stringify({ ts: new Date().toISOString(), rssMB: +(rss / 1024 / 1024).toFixed(1), heapUsedMB: +(heapUsed / 1024 / 1024).toFixed(1), externalMB: +(external / 1024 / 1024).toFixed(1), }));}, 10_000);Prometheus-style metric names
Section titled “Prometheus-style metric names”| Metric | Source |
|---|---|
process_resident_memory_bytes |
rss |
nodejs_heap_size_used_bytes |
heapUsed |
nodejs_external_memory_bytes |
external |
Soak test script
Section titled “Soak test script”# Terminal 1node examples/node/01-global-array-leak.js
# Terminal 2 — watch trendwhile true; do date; ps -o rss= -p $(pgrep -f 01-global-array-leak) | awk '{print $1/1024 " MB rss"}'; sleep 5; doneAll examples in examples/node/ log memory each tick — use them as templates.