Javascript 如何找出节点进程中的内存泄漏

Javascript 如何找出节点进程中的内存泄漏,javascript,node.js,memory-leaks,google-chrome-devtools,heap-dump,Javascript,Node.js,Memory Leaks,Google Chrome Devtools,Heap Dump,我的nodejs应用程序正在泄漏内存,所以我尝试使用heapdump来比较内存更改,不幸的是,headdump中的内存没有更改,但我的nodejs进程正在泄漏内存。因此我认为本机模块可能是一个罪魁祸首,然后我使用mtrace来找出原因。 但我无法理解模块“/lib64/libstdc++.so.6”正在增加大小 有没有人能帮我提供一些工具或方法的建议,以找出堆本身不会发生的内存泄漏 很多人都很感激。我建议您使用有限的堆内存启动node.js应用程序(例如-max\u old\u space\u

我的nodejs应用程序正在泄漏内存,所以我尝试使用heapdump来比较内存更改,不幸的是,headdump中的内存没有更改,但我的nodejs进程正在泄漏内存。因此我认为本机模块可能是一个罪魁祸首,然后我使用mtrace来找出原因。 但我无法理解模块“/lib64/libstdc++.so.6”正在增加大小

有没有人能帮我提供一些工具或方法的建议,以找出堆本身不会发生的内存泄漏


很多人都很感激。

我建议您使用有限的堆内存启动node.js应用程序(例如-max\u old\u space\u size=100),然后等待内存耗尽

如果发生这种情况,请重新安装并启动该过程。当它现在内存不足时,会自动生成一个heapdump,向您显示罪魁祸首。 没有发生,没有内存泄漏

您的heapdump没有显示出上升的原因可能是因为垃圾收集器;在创建heapdump之前,垃圾收集器将启动。
所以我不确定你是否真的有漏洞;如果垃圾收集修复了堆的使用情况,那么就不会有泄漏。

这里有一篇关于垃圾收集的好文章,它帮助了我已经尝试过的使用,但没有帮助,谢谢大家