我在CentOS上运行了一个nodejs进程。 我正在关注Joyent的this和this个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进程是不可能的。
错误是否意味着核心转储中缺少某些信息? 如何解决?
答案 0 :(得分:5)
findleaks用于C内存泄漏,而不是Node.js泄漏。 findleaks依赖于你的程序没有使用的libumem内存分配器。这就是错误信息所说的内容。
对于JavaScript泄漏,您希望使用findjsobjects命令。
[编辑解释umem错误]