nodeJS何时以及如何释放堆内存?

为了理解NodeJS的V8引擎的内存使用模式,我写了一个简单的web程序,如下所示:

contents of server.js: var http = require("http"); var server = http.createServer(function(req, res) { res.write("Hello World"); res.end(); }); server.listen(3000); 

当使用节点server.js启动程序时,初始内存快照如下所示: 在这里输入图像描述

在我一直对这个服务器进行多次URL访问之后,我可以看到增加了堆使用的模式。 更准确地说,每6或7次点击,就会增加4K。 我不停地重复连续2分钟左右,这就是快照。 在这里输入图像描述

我没有看到堆使用的最终减less,即使我没有负载闲置。

我的问题是:

这是一个正常的行为,或者在nodeJS有内存泄漏? 或者,我是否理解或解释错误?

节点使用V8引擎,所以这个问题的答案很可能适用: V8如何pipe理它的堆?

代码似乎是有效的,所以要testing你可以编写一个小应用程序来反复调用你的api,然后在运行时检查Node的内存。 使用它来帮助检测可能的泄漏(如果垃圾收集器超过5次连续运行): http : //www.nearform.com/nodecrunch/self-detect-memory-leak-node/