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

时间:2014-08-18 15:50:29

标签: node.js postgresql memory memory-leaks rss

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

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

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

1 个答案:

答案 0 :(得分:1)

你在运行什么版本的Postgres?相对于JSON函数,9.3.3之前版本中存在内存泄漏。来自9.3.3 release notes

"修复JSON函数中的内存泄漏问题"

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