---
name: "proc_kpageflags"
section: "5"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/proc_kpageflags"
---

# proc\_kpageflags(5)

physical pages frame masks

## NAME

/proc/kpageflags - physical pages frame masks

## DESCRIPTION

- */proc/kpageflags* (since Linux 2.6.25)

  This file contains 64-bit masks corresponding to each physical page frame; it is indexed by page frame number (see the discussion of */proc/*pid*/pagemap*). The bits are as follows:

  -

    | | | | |
    | --- | --- | --- | --- |
    | 0 | - | KPF\_LOCKED |
    | 1 | - | KPF\_ERROR |
    | 2 | - | KPF\_REFERENCED |
    | 3 | - | KPF\_UPTODATE |
    | 4 | - | KPF\_DIRTY |
    | 5 | - | KPF\_LRU |
    | 6 | - | KPF\_ACTIVE |
    | 7 | - | KPF\_SLAB |
    | 8 | - | KPF\_WRITEBACK |
    | 9 | - | KPF\_RECLAIM |
    | 10 | - | KPF\_BUDDY |
    | 11 | - | KPF\_MMAP | (since Linux 2.6.31) |
    | 12 | - | KPF\_ANON | (since Linux 2.6.31) |
    | 13 | - | KPF\_SWAPCACHE | (since Linux 2.6.31) |
    | 14 | - | KPF\_SWAPBACKED | (since Linux 2.6.31) |
    | 15 | - | KPF\_COMPOUND\_HEAD | (since Linux 2.6.31) |
    | 16 | - | KPF\_COMPOUND\_TAIL | (since Linux 2.6.31) |
    | 17 | - | KPF\_HUGE | (since Linux 2.6.31) |
    | 18 | - | KPF\_UNEVICTABLE | (since Linux 2.6.31) |
    | 19 | - | KPF\_HWPOISON | (since Linux 2.6.31) |
    | 20 | - | KPF\_NOPAGE | (since Linux 2.6.31) |
    | 21 | - | KPF\_KSM | (since Linux 2.6.32) |
    | 22 | - | KPF\_THP | (since Linux 3.4) |
    | 23 | - | KPF\_BALLOON | (since Linux 3.18) |
    | 24 | - | KPF\_ZERO\_PAGE | (since Linux 4.0) |
    | 25 | - | KPF\_IDLE | (since Linux 4.3) |
    | 26 | - | KPF\_PGTABLE | (since Linux 4.18) |

-

  For further details on the meanings of these bits, see the kernel source file *Documentation/admin-guide/mm/pagemap.rst*. Before Linux 2.6.29, **KPF\_WRITEBACK**, **KPF\_RECLAIM**, **KPF\_BUDDY**, and **KPF\_LOCKED** did not report correctly.

-

  The */proc/kpageflags* file is present only if the **CONFIG\_PROC\_PAGE\_MONITOR** kernel configuration option is enabled.

## SEE ALSO

[**proc**(5)](/proc/5.md)
