리눅스에서 현재 가용한 physical memory의 양을 얻으려면?

bizzare의 이미지

윈도우에서는
MEMORYSTATUS lpBuffer;
GlobalMemoryStatus(&lpBuffer);

위와 같은 방법으로 현재 가용한 physical memory양 등을 알아낼 수가 있지요.
그런데,
리눅스에서는 어떻게 해야하는지 모르겠습니다.

getrlimit 이라는 함수로는 현재 사용가능한 최대 사용량만 알 수 있을 뿐,
현재 이미 사용하고 있는 메모리를 제외한 나머지 가용 메모리의 양은 알 수 없는 듯 하더군요.

#include <stdio.h>
#include <sys/resource.h>
 
 
int main(void)
{
struct rlimit rlim;
int value[10000000];
getrlimit(RLIMIT_AS, &rlim);
printf("%uByte current limit\n", rlim.rlim_cur);
printf("%uByte hard limit\n", rlim.rlim_max);
return 1;
}

도움 부탁드립니다.

uosarang의 이미지

http://kldp.org/Translations/html/The_Linux_Kernel-KLDP/tlk3.html

가용 가능한 피지컬 메모리의 양을 알 수 있는 방법이 있을지 저도 궁금하네요.

그냥 $ cat /proc/meminfo 하면 나오는 정보로는 알 수 있는거 같은데..

머리를 굴려라! 그래야 먹고 산다.