Content-type: text/html; charset=UTF-8
Man page of proc_pid_pagemap
proc_pid_pagemap
Section: File Formats (5)
Updated: 2024-05-02
Index
Return to Main Contents
NAME
/proc/pid/pagemap - mapping of virtual pages
DESCRIPTION
- /proc/pid/pagemap (since Linux 2.6.25)
-
This file shows the mapping of each of the process's virtual pages
into physical page frames or swap area.
It contains one 64-bit value for each virtual page,
with the bits set as follows:
-
- 63
-
If set, the page is present in RAM.
- 62
-
If set, the page is in swap space
- 61 (since Linux 3.5)
-
The page is a file-mapped page or a shared anonymous page.
- 60-58 (since Linux 3.11)
-
Zero
- 57 (since Linux 5.14)
-
If set, the page is write-protected through
userfaultfd(2).
- 56 (since Linux 4.2)
-
The page is exclusively mapped.
- 55 (since Linux 3.11)
-
PTE is soft-dirty
(see the kernel source file
Documentation/admin-guide/mm/soft-dirty.rst).
- 54-0
-
If the page is present in RAM (bit 63), then these bits
provide the page frame number, which can be used to index
/proc/kpageflags
and
/proc/kpagecount.
If the page is present in swap (bit 62),
then bits 4-0 give the swap type, and bits 54-5 encode the swap offset.
-
Before Linux 3.11, bits 60-55 were
used to encode the base-2 log of the page size.
-
To employ
/proc/pid/pagemap
efficiently, use
/proc/pid/maps
to determine which areas of memory are actually mapped and seek
to skip over unmapped regions.
-
The
/proc/pid/pagemap
file is present only if the
CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
-
Permission to access this file is governed by a ptrace access mode
PTRACE_MODE_READ_FSCREDS
check; see
ptrace(2).
SEE ALSO
proc(5)
Index
- NAME
-
- DESCRIPTION
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 11:48:46 GMT, September 14, 2026