如何分析 NodeJS 堆转储?

问题描述 投票:0回答:1

我的 Nodejs Express 服务器出现内存泄漏。我已经生成了堆转储,但它几乎有 250mb。当我尝试将其加载到 Chrome 中(开发工具 -> 内存 -> 加载)时,Chrome 将尝试加载该文件,但大约 60 秒后开发工具崩溃。在此过程中,Chrome 的 CPU 使用率飙升至 200% 以上,因此我认为堆太大,Chrome 无法处理。当我在其他浏览器(Firefox 和 Edge)中尝试相同的过程时,内存选项卡甚至不允许我选择文件,这是一个

.heapsnapshot
。我使用的是全新的 Apple M2 max(64GB 内存),因此计算能力不应该成为问题。

还有其他工具或方法可以分析堆快照吗?即使付费,第三方工具也可以。

node.js heap-dump node-heapdump
1个回答
0
投票

您可以使用memlab。您可以通过编写以下内容来分析转储的完整目录:

memlab analyze unbound-shape --snapshot-dir ./

© www.soinside.com 2019 - 2024. All rights reserved.