使用MDB调查NodeJS内存泄漏,umem未加载到地址空间中

Mr.*_*oor 1 node.js joyent

我有一个在CentOS上运行的nodejs进程.我正在关注这个以及来自Joyent的这个 turotials,以利用MDB来调查潜在的内存泄漏.

我生成了核心文件并上传到曼塔.因此我开始使用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
Run Code Online (Sandbox Code Playgroud)

除了CentOS之外,在其他操作系统上运行我的nodejs进程是不可能的.

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

Dav*_*eco 5

findleaks用于C内存泄漏,而不是Node.js泄漏.findleaks依赖于你的程序没有使用的libumem内存分配器.这就是错误信息所说的内容.

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

[编辑解释umem错误]