Node.JS内存释放

我写了一个简单的节点服务器:

var http = require('http'); var server = http.createServer(); var i = 0; var onRequest = function(req, res){ res.write('test ' + (++i)); res.end(); console.log(i); }; server.on('request', onRequest); server.listen(8080); 

当我启动服务器时,节点使用了5.8 MB的内存,但是在服务100,000个请求之后,它的内存使用量为21.5 MB

这个内存会在某个时候释放吗?

我相信脚本中没有内存泄漏,这太简单了。

我正在testingWindows 8,本地主机。

在最新版本的Node中,这个内存应该在某些时候由V8释放,这可能是增量式的。

在之前的Node / V8版本中,取消分配更加激进,并没有增量式地完成。 后者对于performance并不太好。

听听这个http://nodeup.com/fortyfive

你可以检查V8节点的版本是这样使用的:

 node -e "console.log(process.versions.v8)" 

这篇文章会给你足够的指针来检查Node.js中的内存泄漏https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js -holiday季/

你也可以在这里详细的强制GC: http : //simonmcmanus.wordpress.com/2013/01/03/forcing-garbage-collection-with-node-js-and-v8/