【发布时间】:2016-10-12 10:10:25
【问题描述】:
我有这个简单的 http 服务器
var http = require('http');
var server = http.createServer(function(request, response) {
var data = [];
for ( var i=0; i < 1000000; i++ ) {
data.push({});
}
response.end('Done');
});
server.listen(3000);
当我启动服务器时,该进程使用了大约 8MB 的内存。 当我向服务器发出请求时,内存使用量上升到 100MB 以上,并且一直保持这种状态。然后我按住 F5 几秒钟来发送一些请求,并且内存使用量在某些时候增长到 400MB 以上。处理完所有请求后,服务器仍在使用 100MB 以上的空间。
当我提出另一个请求时,内存有时会超过或接近 200MB 或保持大致相同。我让服务器运行了一段时间,内存没有释放。
我尝试输入date = null,结果是一样的。然后我尝试使用--expose-gc 标志运行服务器,并在我将值设为空后将global.gc() 放入,结果更好,但内存仍保持在50MB 以上。
【问题讨论】:
标签: node.js memory-leaks garbage-collection v8