Do a heap diff on SIGUSR2 in node. Wraps completely memwatch-next and offers the same API.
npm install memwatch-sigusr2 --save
In your leaking app:
var memwatch = require('memwatch-sigusr2')
memwatch.setup()
// to get the process PID, omit in production and use ps aux | grep node
console.log(process.pid)
Then to start calculating the diff, run:
kill -sigusr2 <PID>
To stop calculating the diff, run:
kill -sigusr2 <PID>
Then, you can read your diff with:
jsonlint /tmp/heap-diff-<PID>.json
Check jsonlint for installation and usage instructions.
This project was kindly sponsored by nearForm.
MIT