# NodeJS 内存泄漏检测与定位

DevFeed: [NodeJS 内存泄漏检测与定位](<https://devfeed.tech/articles/nodejs-41005.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/nodejs-debug/>)

Author: Joway

Published: 2019-11-10T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [bug](<https://devfeed.tech/topics/bug.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [devtools](<https://devfeed.tech/tags/devtools.md>), [dump](<https://devfeed.tech/tags/dump.md>), [nodejs](<https://devfeed.tech/tags/nodejs.md>), [object](<https://devfeed.tech/tags/object.md>), [snapshot](<https://devfeed.tech/tags/snapshot.md>), [string](<https://devfeed.tech/tags/string.md>), [tech](<https://devfeed.tech/tags/tech.md>)

## AI overview

This Chinese tutorial documents diagnosing and locating a Node.js memory leak using heapdump files and Chrome DevTools. It explains how to obtain heap snapshots, compare snapshots over time, and inspect object references and retained size while noting that increased memory or retained size alone does not conclusively prove a leak.

## Source excerpt

最近解决了一个 Node.JS 应用内存泄漏 Bug，顺便学会了用 Chrome DevTools 去看 heapdump 文件。这里做一些简单的记录。 如何「优雅地」获得 heapdump 文件 由于我们所有应用都是以容器部署的，所以要去获得某个容器内的文件，并拷贝到本地难度还是比较大，也非常麻烦。考虑到调试时或许会需要下载非常多次的 snapshot 文件，建议可以包下 heapdump 库，做成一个接口，把文件 dump 之后再传输给客户端，这样一劳永逸。