确定NodeJS中RSS内存泄漏的原因

我最近偶然发现从MongoDB迁移到Postgresql后,Node.js应用程序中的内存泄漏。 代码在Node.js v 0.10.x上运行。 代码和它的依赖是100%写在JS中。 我正在使用pg.js模块来访问数据库。

问题是,我看到节点的RSS增长(直到进程崩溃),而不是堆,而不是V8外部存储器(通过--trace_external_memory标志logging)。 这就是为什么没有任何工具在V8堆中发现泄漏正在帮助我。

什么可能是这个内存泄漏的原因? 例如,是否有可能有泄漏相关的Buffer实例不会出现在外部存储器日志?

你用什么版本的Postgres? 相对于JSON函数,在9.3.3之前版本中有一个内存泄漏。 从9.3.3发行说明 :

“修复JSON函数中的内存泄漏”

如果可能,请尝试升级到9.3.3或更高版本(9.3.5是本文的最新稳定版本)。