public
Last active

  • Download Gist
leak.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
var zlib = require('zlib');
 
 
var iteration = 0;
var maxRss = 0;
 
(function leak() {
 
if (iteration % 1000 === 0) {
var usage = process.memoryUsage();
maxRss = Math.max(maxRss, usage.rss);
console.log('MEMORY USAGE current: ' + JSON.stringify(usage) + '; max rss: ' + maxRss + '; iteration: ' + iteration);
}
iteration++;
 
zlib.gzip('this is some test data', function() {
process.nextTick(leak);
});
})();

This gist demonstrates a bad behavior of zlib, where RSS will grow to very high levels rapidly. in my tests, within a handful of seconds RSS is well over 500MB. This repros on node 0.8.18. It is fixed in 0.9.8.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.