Linux2009. 12. 14. 23:53
최초 의도한 내용은,
malloc() 으로 할당받은 포인터가 있고,
이 포인터 만을 가지고, 얼마나 큰 용량을 할당 받았는지 알아내는 방법에 대한 것이었는데
일단 malloc()으로 할당된 총 메모리 용량이라도 링크...

#include <malloc.h>
#include <stdio.h>

#define mm() do{s_m = mallinfo(); fprintf(stdout, "%d/%d --\n", s_m.arena, s_m.uordblks);}while(0)

int main(int s_argc, char **s_argv)
{
        struct mallinfo s_m;
        void *s_p;

        mm();

        s_p = malloc(100);
        mm();

        free(s_p);
        mm();

        s_p = malloc(10000);
        mm();

        free(s_p);
        mm();

        return(0);
}

% ./a.out
0/0 --
135168/104 --
135168/0 --
135168/10008 --
135168/0 --

[링크 : http://webdizen.new21.net/blog/3041]


 struct mallinfo {
   int arena;
   int ordblks;
   int smblks;
   int hblks;
   int hblkhd;
   int usmblks;
   int fsmblks;
   int uordblks;
   int fordblks;
   int keepcost;
 };

[링크 : http://www.delorie.com/djgpp/doc/libc/libc_550.html]


[링크 : http://www.ibm.com/developerworks/linux/library/l-memory/] 영문
[링크 : http://www.ibm.com/developerworks/kr/library/l-memory/] 한글

[링크 : http://www.gnugeneration.com/books/linux/2.6.20/kernel-api/ch05.html]

[링크 : http://weezzle.net/1660]

'Linux' 카테고리의 다른 글

DNS / Host Lookup 관련 파일  (0) 2009.12.22
OOM - Out of Memory  (2) 2009.12.15
시간관련 함수/구조체 - time API on linux  (0) 2009.12.09
compiz / beryl  (0) 2009.12.09
LiveUSB의 Persistence file 용량 증설하기  (0) 2009.12.09
Posted by 구차니