본문 바로가기

IT Device Game

창고-IBM AIX에서 메모리 누수 디버깅 하기

5년 넘게 사용해오던 홈페이지를 접기로 결정했습니다....
아쉽긴 하지만 시대에 따라가기엔 버거워서 운영을 접고 지인의 초대장을 협박으로 구해서 티스토리로 넘어오게 됐습죠~.

무엇보다 제 생각에 가장 큰 원인은 개인홈페이지의 시대가 가버렸습니다 ^^;;;;
모바일 환경에 맞게 일부 수정도 해보았지만 제로보드의 한계 랄까요~...

책 이미지




그러다 창고 삼아 뒤적뒤적 예전 글들을 옮겨오고 있습니다. 그러다 보니 시대에 많이 뒤떨어진 포스트들도 보시게 될텐데~ 검색으로 들어오셨다면 너그러이 용서를 바라며~ 발행을 보고 오셨다면 제가 손가락이 실수로 발행을 누른탓입니다.

예전글들은 발행버튼은 안쓰려고 하는데 가끔 실수를 합니다.

자 변명은 이쯤하고 역시 이번에도 그나마의 불친절한 설명글도 없이 소스 주석으로 대체 합니다.



struct mallinfo a, b;
double heapsz, memdiff, currentmem, beforemem;

   //의심가는 함수 전에 현재 메모리 상태 스넵
   b = mallinfo(); // get memory snapshot after calling DB2 API
   FRM_TRY(mfrm_tpcall("INST_MAPPER",        TPNOFLAGS ));
    //수행후 메모리 상태 스넵
    a = mallinfo(); // get memory snapshot after calling DB2 API
    beforemem = (double) (b.usmblks + b.uordblks);
    heapsz = (double) (a.arena - b.arena) ;
    memdiff = (double)((a.usmblks + a.uordblks) - (b.usmblks + b.uordblks)) ;
    currentmem = (double)(a.usmblks + a.uordblks) ;
   printf("LIB--before size %.2f Byte\n", beforemem);
   printf("LIB--Heap size difference is %.2f Byte\n", heapsz);
   printf("LIB--Memory in use difference = %.2f Byte\n", memdiff);
   printf("LIB--current size %.2f Byte\n", currentmem);


반응형