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

时间:2015-04-12 10:21:04

标签: node.js joyent

我在CentOS上运行了一个nodejs进程。 我正在关注Joyent的thisthis个turotial,以便使用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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

[编辑解释umem错误]