GETPAGESIZE(2)            (2017-09-15)             GETPAGESIZE(2)

          getpagesize - get memory page size

          #include <unistd.h>

          int getpagesize(void);

     Feature Test Macro Requirements for glibc (see

              Since glibc 2.19:
                  _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
              From glibc 2.12 to 2.19:
                  _BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
              Before glibc 2.12:
                  _BSD_SOURCE || _XOPEN_SOURCE >= 500

          The function getpagesize() returns the number of bytes in  a
          memory  page, where "page" is a fixed-length block, the unit
          for memory allocation and file mapping performed by mmap(2).

          SVr4, 4.4BSD, SUSv2.  In SUSv2  the  getpagesize()  call  is
          labeled  LEGACY,  and  in  POSIX.1-2001 it has been dropped;
          HP-UX does not have this call.

          Portable applications  should  employ  sysconf(_SC_PAGESIZE)
          instead of getpagesize():

              #include <unistd.h>
              long sz = sysconf(_SC_PAGESIZE);

          (Most  systems   allow   the   synonym   _SC_PAGE_SIZE   for

          Whether getpagesize() is present  as  a  Linux  system  call
          depends  on the architecture.  If it is, it returns the ker-
          nel symbol PAGE_SIZE, whose value depends on  the  architec-
          ture  and  machine model.  Generally, one uses binaries that
          are dependent on the architecture but  not  on  the  machine
          model,  in  order  to  have a single binary distribution per
          architecture.  This means that a  user  program  should  not
          find  PAGE_SIZE  at compile time from a header file, but use
          an actual system call,  at  least  for  those  architectures
          (like  sun4)  where  this dependency exists.  Here glibc 2.0
          fails because its getpagesize() returns a statically derived

     Page 1                        Linux             (printed 5/24/22)

     GETPAGESIZE(2)            (2017-09-15)             GETPAGESIZE(2)

          value,  and  does  not  use a system call.  Things are OK in
          glibc 2.1.

          mmap(2), sysconf(3)

          This page is part of release 5.10  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

     Page 2                        Linux             (printed 5/24/22)