2009년 12월 8일 화요일

솔라리스 메모리 누수 확인(Memory Leak)

* 솔라리스에서 메모리 누수를 확인하는 방법

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

- 출처(자세한 사항은 링크 를 참조하세요)

댓글 없음:

댓글 쓰기