Skip to content

process.memoryUsage

const m = process.memoryUsage();
// { rss, heapTotal, heapUsed, external, arrayBuffers }
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);
Metric Source
process_resident_memory_bytes rss
nodejs_heap_size_used_bytes heapUsed
nodejs_external_memory_bytes external
Terminal window
# Terminal 1
node examples/node/01-global-array-leak.js
# Terminal 2 — watch trend
while true; do date; ps -o rss= -p $(pgrep -f 01-global-array-leak) | awk '{print $1/1024 " MB rss"}'; sleep 5; done

All examples in examples/node/ log memory each tick — use them as templates.