【发布时间】:2017-08-08 15:15:14
【问题描述】:
如题,我在Node js上的loopback框架中遇到了内存泄漏问题。 我从请求 API 调用中找不到任何问题。 所以我想知道当内存使用量不断增加时,有什么办法可以在NodeJs的堆内存中转储所有对象和变量,以便我可以在我的代码中找到任何线索。
谢谢。
【问题讨论】:
标签: node.js memory-leaks heap-memory loopback
如题,我在Node js上的loopback框架中遇到了内存泄漏问题。 我从请求 API 调用中找不到任何问题。 所以我想知道当内存使用量不断增加时,有什么办法可以在NodeJs的堆内存中转储所有对象和变量,以便我可以在我的代码中找到任何线索。
谢谢。
【问题讨论】:
标签: node.js memory-leaks heap-memory loopback
首先,如果您在内存受限的环境中运行节点进程,则必须确保限制分配给 Node 和 V8 的内存量。看起来像内存泄漏的可能只是 V8 引擎的惰性垃圾收集过程。为了监控内存使用情况,我推荐使用 npm 插件 memwatch-next。
您可以通过以下方式执行您的 node js 程序来强制 V8 执行垃圾回收:node --expose-gc test.js
现在,当您希望 V8 执行旧空间清理时,您可以在代码中以设定的时间间隔调用 global.gc()。
更多信息可以在这里找到:https://simonmcmanus.wordpress.com/2013/01/03/forcing-garbage-collection-with-node-js-and-v8/
【讨论】: