Node.js上的Express.js是否有内存泄漏?

我一直使用运行在一个简单的项目的Heroku服务器上的node.js快递。 当我开始使用新的文物来监视内存时,我注意到一个缓慢的内存泄漏模式。 我删除了我开发的所有代码和所有其他节点模块,只留下自己和新的文物模块。 我仍然观察到内存泄漏。 我想知道如果这是express.js内存泄漏。 这里是来自新文物的图形

这里是所有剩下的代码:

require('newrelic'); var express = require('express'); var app = express(); var env = process.env.NODE_ENV || 'development'; if ('development' == env) { app.set('port', process.env.PORT || 3000); } app.get('/', function ( req, res ) { res.send('The server is up and running!'); }); app.listen(app.get('port'), function() { console.log('Express server listening on port %d in %s mode', app.get('port'), app.get('env')); }); 

和package.json

 { "name": "memleakdebug", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.11.2", "newrelic": "^1.16.2" } } 

UPDATE1:现在越来越多的内存甚至超过了heroku的限制512MB的免费级别。 垃圾收集似乎不起作用。

内存不断增长

正如Lasse回答,New Relic有一个内存泄漏。

https://discuss.newrelic.com/t/memory-leaking-only-with-node-js-agent-installed/14448

我试验过,并删除

 require('newrelic'); 

正如你在下面的图片中看到的,因为我删除了New Relic代理,所以没有更多的内存泄漏。

在这里输入图像描述