pm2显示1.2GB而heapdump显示80MB

我正在使用节点v0.12.7编写nodeJS应用程序。

我使用pm2 v0.14.7运行我的nodejs应用程序。

似乎我的应用程序中有内存泄漏,因为它从大约180MB反弹到24小时后的大约1GB。

我试图调查这个问题。

到目前为止,我发现了以下工具:

memwatch-next heapdump节点检查器

与节点督察我发现一些CPU问题,我能够轻松地解决它们。

与memwatch-next和heapdump我试图得到应用程序内存的完整映射,问题如下:

在我的应用程序运行24小时后,pm2显示内存增加到1gb以上,当我使用这些工具创buildheapdump时,它会创build一个大约80MB的heapdump。

我的问题是..其余的在哪里?

如果应用程序内存大约是1GB,如何查看我的整个应用程序的内存映射以查找内存泄漏? 我错过了什么?

任何有关这个问题的信息将不胜感激。

你在你的代码中使用了缓冲区对象吗?

缓冲区类似于整数数组,但对应于V8堆外部的原始内存分配

更多,input下面的代码将显示

process.memoryUsage(); //ouput { rss: 19730432, heapTotal: 9751808, heapUsed: 4768896 } 

确认rss键的值是否等于pm2的显示值;