2015-10-05 39 views
2

爲了理解的NodeJS的V8發動機的存儲器使用模式,我寫了一個簡單的網絡程序,如下所示:時的NodeJS以及如何堆內存被釋放?

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啓動後,初始存儲器快照是如下面: enter image description here

在我一直對這個服務器進行多次URL訪問之後,我可以看到增加了堆使用的模式。更準確地說,每6或7次點擊,就會增加4K。我持續不斷地重複連續兩分鐘,然後這是快照。 enter image description here

我沒有看到堆使用情況有任何最終減少,即使我將它保持空閒而沒有負載。

我的問題是:

這是一種正常的行爲,或者存在一個的NodeJS內存泄漏? 或者,我在理解或錯誤解釋呢?

+0

strongloop通常對的Node.js和V8一些合法的文章。可能要在這一個讀了起來:https://strongloop.com/strongblog/node-js-performance-garbage-collection/和使用一個分析器,顯示GC時間之間的增量,以更好地估算好堆的增加和減少。 – bbuckley123

回答