虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > Solaris > Solaris下使用mdb检查内存泄露

Solaris下使用mdb检查内存泄露
类别:Solaris   作者:码皇   来源:互联网   点击:

Solaris下使用mdb检查内存泄露步骤一:UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem so 1 spAgent & www 2cto com 步骤二:-bash-3 00$ mdb -p 16546 上面得到进程IDLoading
Solaris下使用mdb检查内存泄露   步骤一: UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem.so.1 ./spAgent &   www.2cto.com   步骤二: -bash-3.00$ mdb -p 16546 //上面得到进程ID Loading modules: [ ld.so.1 libumem.so.1 libc.so.1 ]   步骤三: -bash-3.00$ mdb -p 16546 Loading modules: [ ld.so.1 libumem.so.1 libc.so.1 ] > ::findleaks //查找内存泄露 CACHE     LEAKED   BUFCTL CALLER 00484008   11489 00a7f428 libstdc++.so.6.0.3`_Znwj+0x1c ----------------------------------------------------------------------    Total   11489 buffers, 5147072 bytes   www.2cto.com   步骤四: > 00a7f428::bufctl_audit  //查看最后使用这内存地址的调用堆栈             ADDR          BUFADDR        TIMESTAMP           THREAD                             CACHE          LASTLOG         CONTENTS           a7f428           a85a00   2185ef54480864               47                            484008           3165dc                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   通过以上步骤基本可以定位内存泄露发生在xx函数。
相关热词搜索: Solaris 使用 检查