[ CnUnix ] in KIDS 글 쓴 이(By): vness (구리) 날 짜 (Date): 2007년 5월 29일 화요일 오후 01시 59분 04초 제 목(Title): pthread 프로그램에서의 memory leak 안녕하세요? 리눅스에서 pthread 를 사용하여 application 과 db 사이의 일종의 middle-ware 역활을 하는 프로그램을 인수인계 받았습니다. 자잘한 버그는 일단 거의 잡은 것 같은데.. 문제는 프로그램에서 메모리 릭이 발생하는 것처럼 보인다는 것입니다. 일단 프로그램을 모니터링 결과 쓰레드 끼리의 race condition 이 발생할때 주로 메모리 릭이 발생하는 것 같은데요.. 이런 종류의 메모리 릭을 잡아줄 수 있는 툴을 좀 소개시켜주세요. T_T Valgrind 는 pthread 를 지원하기는 하지만 내부적으로 시퀀셜한 round-robin 형식으로 각 쓰레드들을 실행시키기 때문에(현재 프로그램이 실행되는 서버의 사양이 multiprocessor - 2장, hyper-threading 옵션을 켜서 4장으로 보이는 상황. valgrind 에서는 multi-processor 에서 동시에 쓰레드 작업이 돌아가지 않도록 sequential 하게 프로그램을 실행시킨다고 하네요.) memory leak 이 발생하지 않는 것 처럼보이는 상황입니다. 이런 경우 어떤 툴들을 사용하시는지 좋은 툴 좀 알려주세요. T_T |