pm2显示1.2GB,heapdump显示80MB

ufk*_*ufk 4 memory-leaks node.js

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

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

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

我正在尝试调查此问题。

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

memwatch-next heapdump节点检查器

与node-inspector一起,我发现了一些cpu问题,并且能够轻松修复它们。

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

在我的应用程序运行了24小时之后,并且在pm2之后显示,内存增加到了1GB以上,当我使用这些工具中的任何一个创建一个heapdump时,它会创建一个大约80MB的heapdump。

我的问题是..剩下的呢?

如果应用程序内存约为1GB,我如何查看整个应用程序的内存映射以查找内存泄漏?我想念什么?

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

plu*_*ncn 5

您是否在代码中使用了缓冲区对象?

缓冲类似于整数但对应的一个阵列到V8堆外部的原始存储器分配

以下代码会显示更多?

process.memoryUsage();
//ouput { rss: 19730432, heapTotal: 9751808, heapUsed: 4768896 }
Run Code Online (Sandbox Code Playgroud)

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