Provided by: manpages-dev_4.15-1_all bug

NAME

       get_phys_pages, get_avphys_pages - get total and available physical page counts

SYNOPSIS

       #include <sys/sysinfo.h>

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

DESCRIPTION

       The  function  get_phys_pages()  returns  the  total  number of physical pages of memory available on the
       system.

       The function get_avphys_pages() returns the number of currently available physical pages of memory on the
       system.

RETURN VALUE

       On  success, these functions return a nonnegative value as given in DESCRIPTION.  On failure, they return
       -1 and set errno to indicate the cause of the error.

ERRORS

       ENOSYS The system could not provide the required information (possibly because the /proc  filesystem  was
              not mounted).

CONFORMING TO

       These functions are GNU extensions.

NOTES

       These  functions  obtain  the  required  information  by  scanning  the  MemTotal  and  MemFree fields of
       /proc/meminfo.

       The following sysconf(3) calls provide a  portable  means  of  obtaining  the  same  information  as  the
       functions described on this page.

           total_pages = sysconf(_SC_PHYS_PAGES);    /* total pages */
           avl_pages = sysconf(_SC_AVPHYS_PAGES);    /* available pages */

EXAMPLE

       The following example shows how get_phys_pages() and get_avphys_pages() can be used.

       #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)

COLOPHON

       This  page  is  part  of  release  4.15  of  the  Linux man-pages project.  A description of the project,
       information  about  reporting  bugs,  and  the  latest  version  of  this   page,   can   be   found   at
       https://www.kernel.org/doc/man-pages/.