Section: Linux Programmer's Manual (2)
Return to Main Contents
getpagesize - get memory page size
Feature Test Macro Requirements for glibc (see
- Since glibc 2.12:
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
returns the number of bytes in a page, where a "page" is the thing
used where it says in the description of
that files are mapped in page-sized units.
The size of the kind of pages that
uses, is found using
long sz = sysconf(_SC_PAGESIZE);
(most systems allow the synonym
int sz = getpagesize();
SVr4, 4.4BSD, SUSv2.
In SUSv2 the
call is labeled LEGACY, and in POSIX.1-2001
it has been dropped;
HP-UX does not have this call.
Portable applications should employ
instead of this call.
is present as a Linux system call depends on the architecture.
If it is, it returns the kernel symbol
whose value depends on the architecture 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
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 libc4, libc5, glibc 2.0 fail because their
returns a statically derived value, and does not use a system call.
Things are OK in glibc 2.1.
This page is part of release 3.27 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.