Step 1:
Umem_debug = default umem_logging = Transaction ld_preload = libumem. so.1./spagent &
Step 2:
-Bash-3.00 $ MDB-P 16546 // process ID obtained above
Loading modules: [lD. so.1 libumem. so.1 libc. so.1]
Step 3:
-Bash-3.00 $ MDB-P 16546
Loading modules: [lD. so.1 libumem. so.1 libc. so.1]
>: Findleaks // find Memory leakage
Cache leaked bufctl caller
00484008 11489 00a7f428 libstdc ++. so.6.0.3 '_ znwj + 0x1c
----------------------------------------------------------------------
Total 11489 buffers, 5147072 bytes
Step 4:
> 00a7f428: bufctl_audit
// View the call stack that last uses this memory address
ADDR bufaddr timestamp thread
Cache lastlog Contents
A7f428 a85a00 2185ef54480864 47
484008 listen 5dc 0
Libumem. so.1 'umem _ cache_alloc + 0x13c
Libumem. so.1 'umem _ alloc + 0x60
Libumem. so.1 'malloc + 0x28
Libstdc ++. so.6.0.3 '_ znwj + 0x1c
_ Zn6rxconn17handlesmppdeliverepk7aichunki + 0x510
_ Zn6rxconn10recvthreadev + 0x6c4
_ Zn6rxconn4recvepv + 0x20
Libc. so.1 '_ lwp_start
After performing the preceding steps, you can locate the memory leakage in the XX function.