我的 Nodejs Express 服务器出现内存泄漏。我已经生成了堆转储,但它几乎有 250mb。当我尝试将其加载到 Chrome 中(开发工具 -> 内存 -> 加载)时,Chrome 将尝试加载该文件,但大约 60 秒后开发工具崩溃。在此过程中,Chrome 的 CPU 使用率飙升至 200% 以上,因此我认为堆太大,Chrome 无法处理。当我在其他浏览器(Firefox 和 Edge)中尝试相同的过程时,内存选项卡甚至不允许我选择文件,这是一个
.heapsnapshot
。我使用的是全新的 Apple M2 max(64GB 内存),因此计算能力不应该成为问题。
还有其他工具或方法可以分析堆快照吗?即使付费,第三方工具也可以。
您可以使用memlab。您可以通过编写以下内容来分析转储的完整目录:
memlab analyze unbound-shape --snapshot-dir ./