proc_pid_pagemap(5) File Formats Manual proc_pid_pagemap(5)
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 user-
faultfd(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 Documenta-
tion/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 CON-
FIG_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)
Linux man-pages 6.9.1 2024-05-02 proc_pid_pagemap(5)
Generated by dwww version 1.16 on Tue Dec 16 07:02:57 CET 2025.