我有一个节点应用程序,它正在随着时间的推移而变慢。阅读该https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/,我似乎有一个内存泄漏和v8 gc正在减慢我的应用程序。所以我尝试了node-memwatch,但是相关的结果是
{
what: 'Native',
size_bytes: 18853040,
size: '17.98 mb',
'+': 2247,
'-': 116
},但是我不知道在我的代码库中搜索什么。我认为原生引用是对原生v8函数的引用,但我被锁定在这里。
所以,如果我们曾经做过这样的实验,谢谢你的回答。
发布于 2014-08-08 07:26:26
正如v8 code comments本机中所述,本机意味着“本机对象(不是来自V8堆)”。
Further research给了我这样的定义:
本机对象是不在JavaScript堆中的所有其他对象。与堆对象不同,本机对象在整个生命周期中不受V8垃圾收集器的管理,只能使用其JavaScript包装器对象从JavaScript访问。
从最后一个链接中值得注意的一件事是,它提到字符串可以存储在VM堆中,也可以存储在包装器对象中。在它的第二种形式中,这些包装器被创建为“用于访问外部存储,例如,从Web接收的脚本源和其他内容被存储在其中”。
https://stackoverflow.com/questions/21683632
复制相似问题