Node.js潜在的内存泄漏超过1.8G限制

时间:2015-10-23 04:27:25

标签: node.js memory-leaks imap email-parsing

我有一个Node.js应用程序,每隔15分钟检查和检索一次电子邮件。我正在使用node-imapmailparser。当我测试时,我发现内存似乎泄露了。经过一夜之后,我的进程内存从50MB增加到2.3GB。

这给我带来了一些问题。 1,我知道Node.js有内存限制(实际上是v8限制),在x64系统中约为1.8G。但我的应用程序使用2.3G。为什么会这样?这是否意味着v8的内存被泄露了? 2,我附上memwatch模块并试图找出原因。但在运行我的应用程序30分钟后,我可以看到内存从50MB增加到200MB,但memwatch没有触发leak事件。这是否意味着没有内存泄漏?或者是因为非v8内存泄露但memwatch无法检测到?

我是Node.js性能调优和内存分析的新手,所以任何想法都会受到欢迎。

谢谢,

更新 每次应用程序检索电子邮件后,我都会使用heapdump转储快照。然后我得到了4个快照,当我比较它们时,“String”是增加最多的类别(memwatch.diff的结果相同。)在Chrome开发工具中,所有这些都被标记为“父级(切片字符串)”。所以我'我想知道这是什么意思。为什么它不能被GC,因为它只是我的函数中的一个局部变量,每次我需要检查邮件时都会被调用。

0 个答案:

没有答案