Node.js之外的内存泄漏?

我刚修复了节点堆中的节点应用程序中的内存泄漏。 我已经用Google的Profiler描述了这一点,并设法修复了内存泄漏。

现在我的应用程序又运行了一段时间,我已经看到堆大小是相当稳定的。 没有内存泄漏了。 但是,当我检查我的服务器的免费RAM,我看到一个减less…当我重新启动我的节点服务器RAM是达到它的正常空闲RAM。 现在我已经听说Node.js可以保存对象和堆外的东西。 我认为这是什么导致这里的内存泄漏。

我怎样才能看到什么是占用内存? 不能真正地configuration任何东西,或者我可以吗?

我在用着:

node.js:v0.8.18和socket.io:v0.9.13

我正在使用的一些其他节点模块是:nodetime,heapdump(虽然会删除这个),jquery,crypto,request和querystring。

一些图表:

免费的操作系统内存和使用的节点RSS和堆

您可以使用heapdump模块创build核心转储,然后将其加载到webkit的Web检查器中,以分析程序的内存状态。 查看heapdump模块中的自述文件的结尾,以获取有关在Google Chrome中加载堆转储的说明。

看看这篇文章 ,了解某人如何跟踪程序中的内存泄漏。