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



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

问题是我看到Node的RSS在增长(直到进程崩溃),而不是堆和V8外部内存(通过--trace_external_memory标志记录)。这就是为什么没有任何在V8堆中发现泄漏的工具可以帮助我。

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

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

"修复JSON函数的内存泄漏"

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

最新更新