gpt4 book ai didi

node.js - pm2 显示 1.2GB 而 heapdump 显示 80MB

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:50 32 4
gpt4 key购买 nike

我正在使用 node v0.12.7 编写一个 nodeJS 应用程序。

我正在使用 pm2 v0.14.7 运行我的 nodejs 应用程序。

我的应用程序似乎有内存泄漏,因为它从我启动时的大约 180MB 反弹到 24 小时后的大约 1GB。

我正在尝试调查这个问题。

到目前为止我发现了以下工具:

memwatch-下一个堆转储 Node 检查器

通过 Node 检查器,我发现了一些 CPU 问题,并且能够轻松修复它们。

我试图通过 memwatch-next 和 heapdump 获取应用程序内存的完整映射,问题如下:

在我的应用程序运行 24 小时后,在 pm2 显示内存增加到超过 1GB 之后,当我使用这些工具中的任何一个创建堆转储时,它会创建一个大约 80MB 的堆转储。

我的问题是.. 其余的在哪里?

如果应用程序内存约为 1GB,我如何查看整个应用程序的内存映射以发现内存泄漏?我错过了什么?

如能提供有关此问题的任何信息,我们将不胜感激。

最佳答案

您是否在代码中使用了 Buffer Object?

A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap

还有更多,输入下面的代码会显示

process.memoryUsage();
//ouput { rss: 19730432, heapTotal: 9751808, heapUsed: 4768896 }

确认rss key的值是否等于pm2的显示值;

关于node.js - pm2 显示 1.2GB 而 heapdump 显示 80MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32694146/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com