20

我们正在部署一个 Node.js 应用程序。这个应用程序消耗的 RSS 内存似乎比它应该的要多。所以我们开始深入研究,我们发现了以下内容,感谢 process.memoryUsage();

  • RSS 内存快速增长到 400MB 左右,在 400MB-500MB 之间或多或少保持稳定,有小涨小跌(垃圾收集器运行?)

  • heapUsed 迅速增长到 50MB,然后保持在该级别(20MB 和 100MB 之间)。

  • heaptotal 总是比 heapUsed 多大约 30MB。

如您所见,堆和 RSS 之间存在巨大差异,我认为这是我们应该关注的地方。我们的堆中似乎没有任何非常明显的泄漏。

现在,RSS 中有什么不在堆中?我相信 C 扩展和缓冲区,对吧?如果是这样,我们如何调试它。我们还应该寻找什么?

4

1 回答 1

3

在不知道您的应用程序在做什么的情况下,不可能对此发表评论。

如果 V8 堆使用量明显低于 RSS,那么是的,它必须是外部缓冲区和非 V8 对象使用的其他内存。

你可以公开一些代码吗?

于 2012-10-30T22:27:01.493 回答