Use MDB to investigate NodeJS memory leak, umem is not loaded in the address space

442 views Asked by At

I have a nodejs process running on CentOS. I am following this and this turotials from Joyent to take use MDB to investigate potential memory leak.

I generated the core file and uploaded to Manta. Hence I started mlogin and MDB.

In MDB, I executed ::findleaks and it produce this error

> ::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

It is impossible to run my nodejs process on other OS except CentOS.

Does the error mean there is some information missing from the core dump? How to fix that?

1

There are 1 answers

0
Dave Pacheco On

findleaks is for C memory leaks, not Node.js ones. findleaks relies on the libumem memory allocator, which your program wasn't using. That's what the error message is saying.

For JavaScript leaks, you want to be using the findjsobjects command.

[edited to explain the umem error]