node.js - 确定 NodeJS 中 RSS 内存泄漏的原因

标签 node.js postgresql memory memory-leaks 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 release notes :

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

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

关于node.js - 确定 NodeJS 中 RSS 内存泄漏的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367263/

相关文章:

javascript - NodeJS 和 Neo4j 的异步行为问题

node.js - 如何使用 jest 在 Node.js 中模拟 postgresql (pg)

memory - 在以太坊 Solidity 中, "memory"关键字的用途是什么?

c - 为什么这个数组不够大?

node.js - 弹性对象内部的Elasticsearch搜索数组

node.js - Node 进程在 writeStream 结束前退出

javascript - PageDown 编辑器中是否有允许脚本或嵌入代码的选项?

使用 Npgsql for Postgresql 的 C# 查询显示重复的结果和缺失的表数据

python - 范围内每个数字的 SQL 计数总计(编辑 : via a UDF)

c - 正在释放的指针未分配/段错误