【问题标题】:Is there a way to dump all the lived objects in heap memory in Node js?有没有办法在 Node js 的堆内存中转储所有活动对象?
【发布时间】:2017-08-08 15:15:14
【问题描述】:

如题,我在Node js上的loopback框架中遇到了内存泄漏问题。 我从请求 API 调用中找不到任何问题。 所以我想知道当内存使用量不断增加时,有什么办法可以在NodeJs的堆内存中转储所有对象和变量,以便我可以在我的代码中找到任何线索。

谢谢。

【问题讨论】:

    标签: node.js memory-leaks heap-memory loopback


    【解决方案1】:

    首先,如果您在内存受限的环境中运行节点进程,则必须确保限制分配给 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/

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2018-03-08
      • 2020-05-22
      • 2020-09-24
      • 2020-12-02
      • 2021-11-20
      相关资源
      最近更新 更多