NAME

get_phys_pages, get_avphys_pages - 물리적 페이지 총개수와 가용 개수 얻기

SYNOPSIS

#include <sys/sysinfo.h>

long get_phys_pages(void);
long get_avphys_pages(void);

DESCRIPTION

get_phys_pages() 함수는 시스템에서 사용 가능한 물리적 메모리 페이지의 총개수를 반환한다.

get_avphys_pages() 함수는 시스템에서 현재 사용 가능한 물리적 메모리 페이지 개수를 반환한다.

RETURN VALUE

성공 시 이 함수들은 DESCRIPTION의 설명처럼 음수 아닌 값을 반환한다. 실패 시 -1을 반환하며 오류를 나타내도록 errno를 설정한다.

ERRORS

ENOSYS
필요한 정보를 시스템이 제공하지 못했다. (/proc 파일 시스템이 마운트 되지 않아서일 수 있다.)

CONFORMING TO

이 함수들은 GNU 확장이다.

NOTES

glibc 2.23 전에서 이 함수들은 /proc/meminfoMemTotalMemFree 필드를 읽어서 필요한 정보를 얻었다. glibc 2.23부터 이 함수들은 sysinfo(2)를 호출해서 필요한 정보를 얻는다.

다음 sysconf(3) 호출은 이 페이지에서 기술하는 함수들과 같은 정보를 얻을 수 있는 이식성 있는 방법이다.

total_pages = sysconf(_SC_PHYS_PAGES);    /* 총 페이지 */
avl_pages = sysconf(_SC_AVPHYS_PAGES);    /* 가용 페이지 */

EXAMPLES

get_phys_pages()get_avphys_pages()를 어떻게 사용할 수 있는지 다음 예가 보여 준다.

#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>

int
main(int argc, char *argv[])
{
    printf("This system has %ld pages of physical memory and "
            "%ld pages of physical memory available.\n",
            get_phys_pages(), get_avphys_pages());
    exit(EXIT_SUCCESS);
}

SEE ALSO

sysconf(3)


2021-03-22