1

我有一个在 CentOS 上运行的 nodejs 进程。我正在关注这个和Joyent 的这个教程来使用 MDB 来调查潜在的内存泄漏

我生成了核心文件并上传到 Manta。因此我开始使用 mlogin 和 MDB。

在 MDB 中,我执行::findleaks并产生此错误

> ::dmods
libumem.so
mdb
mdb_kb
mdb_kproc
mdb_kvm
mdb_proc
mdb_raw
v8
> ::findleaks
mdb: findleaks: umem is not loaded in the address space

在 CentOS 以外的其他操作系统上运行我的 nodejs 进程是不可能的。

该错误是否意味着核心转储中缺少某些信息?如何解决?

4

1 回答 1

5

findleaks 用于 C 内存泄漏,而不是 Node.js 的。findleaks 依赖于您的程序未使用的 libumem 内存分配器。这就是错误消息所说的。

对于 JavaScript 泄漏,您希望使用 findjsobjects 命令。

[编辑以解释 umem 错误]

于 2016-03-23T00:54:37.483 回答