* 솔라리스에서 메모리 누수를 확인하는 방법
1. 누수를 확인할 블럭 실행
- sh, ksh, bash 일 경우
# UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem.so.1 ./block&
- csh 일 경우
setenv UMEM_DEBUG default; setenv UMEM_LOGGING transaction; setenv LD_PRELOAD libumem.so.1; ./block&
[1] 1234
2. 코어 덤프
# gcore 1234 gcore: core.1234 dumped
3. 덤프 분석
root@wl # mdb core.1234
Loading modules: [ libumem.so.1 libc.so.1 ld.so.1 ]
> ::umem_status
> ::umem_log
> ::umalog ...
> ::findleaks
CACHE LEAKED BUFCTL CALLER
080798d0 1 0808ae30 main+0xf
08079c50 1 0808eaf8 main+0x1e
----------------------------------------------------------------------
Total 2 buffers, 64 bytes
Ctrl+D
- 출처(자세한 사항은 링크 를 참조하세요)
댓글 없음:
댓글 쓰기