节点memwatch:泄漏typesnative

我有一个节点的应用程序随着时间的推移而减慢。 读取https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/似乎我有一个内存泄漏和v8 gc正在放慢我的应用程序。 所以我试过节点memwatch,但相关的结果是

{ what: 'Native', size_bytes: 18853040, size: '17.98 mb', '+': 2247, '-': 116 }, 

但我不知道在我的代码库中search什么。 我认为原生v8function,但我被锁在这里。

所以如果我们曾经试验过,谢谢你的回答。

如v8 代码注释中所述, Native表示“本机对象(不是来自V8堆)”。

进一步的研究使我得出这个定义:

本机对象是不在JavaScript堆中的其他东西。 与堆对象相比,本机对象在整个生命周期内不由V8垃圾收集器pipe理,只能使用JavaScript包装器对象从JavaScript进行访问。

从上一个链接可以注意到,它提到的string可以存储在VM堆或包装器对象中。 在第二种forms中,创build这些包装用于“访问外部存储,例如存储从Web接收到的脚本源和其他内容”。