proc_vmstat(5)

๐Ÿ’– NAME ๐Ÿ’–

/proc/vmstat โ€” virtual memory statistics ๐Ÿฆ‹

So yes, it's a file, and it lives in section 5 (File Formats Manual) because manual pages about the shape and contents of files live there. It's giving "I'm a text file but I know everything about your RAM." ๐Ÿ‘‘


โœจ DESCRIPTION โœจ

๐ŸŒธ /proc/vmstat (since Linux 2.6.0)

Bestie. This file is the gossip column for your kernel's virtual memory. Every single line in it is one name-value pair, and the name and the value are separated by white space. That's the whole format. Simple. Clean. Slay. ๐Ÿ’…

Fair warning though: some of these lines are only there if your kernel was configured with the right options. And here's the annoying part โ€” in some cases the options needed for particular files have changed across kernel versions, so the manpage doesn't list them here. (Rude, I know.) If you want those details, go consult the kernel source code. That's where the truth lives. ๐Ÿ˜ญ

The following fields may be present:

  • nr_free_pages โ€” since Linux 2.6.31
  • nr_alloc_batch โ€” since Linux 3.12
  • nr_inactive_anon โ€” since Linux 2.6.28
  • nr_active_anon โ€” since Linux 2.6.28
  • nr_inactive_file โ€” since Linux 2.6.28
  • nr_active_file โ€” since Linux 2.6.28
  • nr_unevictable โ€” since Linux 2.6.28
  • nr_mlock โ€” since Linux 2.6.28
  • nr_anon_pages โ€” since Linux 2.6.18
  • nr_mapped โ€” since Linux 2.6.0
  • nr_file_pages โ€” since Linux 2.6.18
  • nr_dirty โ€” since Linux 2.6.0
  • nr_writeback โ€” since Linux 2.6.0
  • nr_slab_reclaimable โ€” since Linux 2.6.19
  • nr_slab_unreclaimable โ€” since Linux 2.6.19
  • nr_page_table_pages โ€” since Linux 2.6.0
  • nr_kernel_stack โ€” since Linux 2.6.32. This one is the amount of memory allocated to kernel stacks.
  • nr_unstable โ€” since Linux 2.6.0
  • nr_bounce โ€” since Linux 2.6.12
  • nr_vmscan_write โ€” since Linux 2.6.19
  • nr_vmscan_immediate_reclaim โ€” since Linux 3.2
  • nr_writeback_temp โ€” since Linux 2.6.26
  • nr_isolated_anon โ€” since Linux 2.6.32
  • nr_isolated_file โ€” since Linux 2.6.32
  • nr_shmem โ€” since Linux 2.6.32. Pages used by shmem and tmpfs(5).
  • nr_dirtied โ€” since Linux 2.6.37
  • nr_written โ€” since Linux 2.6.37
  • nr_pages_scanned โ€” since Linux 3.17
  • numa_hit โ€” since Linux 2.6.18
  • numa_miss โ€” since Linux 2.6.18
  • numa_foreign โ€” since Linux 2.6.18
  • numa_interleave โ€” since Linux 2.6.18
  • numa_local โ€” since Linux 2.6.18
  • numa_other โ€” since Linux 2.6.18
  • workingset_refault โ€” since Linux 3.15
  • workingset_activate โ€” since Linux 3.15
  • workingset_nodereclaim โ€” since Linux 3.15
  • nr_anon_transparent_hugepages โ€” since Linux 2.6.38
  • nr_free_cma โ€” since Linux 3.7. Number of free CMA (Contiguous Memory Allocator) pages.
  • nr_dirty_threshold โ€” since Linux 2.6.37
  • nr_dirty_background_threshold โ€” since Linux 2.6.37
  • pgpgin โ€” since Linux 2.6.0
  • pgpgout โ€” since Linux 2.6.0
  • pswpin โ€” since Linux 2.6.0
  • pswpout โ€” since Linux 2.6.0
  • pgalloc_dma โ€” since Linux 2.6.5
  • pgalloc_dma32 โ€” since Linux 2.6.16
  • pgalloc_normal โ€” since Linux 2.6.5
  • pgalloc_high โ€” since Linux 2.6.5
  • pgalloc_movable โ€” since Linux 2.6.23
  • pgfree โ€” since Linux 2.6.0
  • pgactivate โ€” since Linux 2.6.0
  • pgdeactivate โ€” since Linux 2.6.0
  • pgfault โ€” since Linux 2.6.0
  • pgmajfault โ€” since Linux 2.6.0
  • pgrefill_dma โ€” since Linux 2.6.5
  • pgrefill_dma32 โ€” since Linux 2.6.16
  • pgrefill_normal โ€” since Linux 2.6.5
  • pgrefill_high โ€” since Linux 2.6.5
  • pgrefill_movable โ€” since Linux 2.6.23
  • pgsteal_kswapd_dma โ€” since Linux 3.4
  • pgsteal_kswapd_dma32 โ€” since Linux 3.4
  • pgsteal_kswapd_normal โ€” since Linux 3.4
  • pgsteal_kswapd_high โ€” since Linux 3.4
  • pgsteal_kswapd_movable โ€” since Linux 3.4
  • pgsteal_direct_dma โ€” no version tag on this one, it just is ๐Ÿ’…
  • pgsteal_direct_dma32 โ€” since Linux 3.4
  • pgsteal_direct_normal โ€” since Linux 3.4
  • pgsteal_direct_high โ€” since Linux 3.4
  • pgsteal_direct_movable โ€” since Linux 2.6.23
  • pgscan_kswapd_dma โ€” no version tag, living its truth
  • pgscan_kswapd_dma32 โ€” since Linux 2.6.16
  • pgscan_kswapd_normal โ€” since Linux 2.6.5
  • pgscan_kswapd_high โ€” no version tag
  • pgscan_kswapd_movable โ€” since Linux 2.6.23
  • pgscan_direct_dma โ€” no version tag
  • pgscan_direct_dma32 โ€” since Linux 2.6.16
  • pgscan_direct_normal โ€” no version tag
  • pgscan_direct_high โ€” no version tag
  • pgscan_direct_movable โ€” since Linux 2.6.23
  • pgscan_direct_throttle โ€” since Linux 3.6
  • zone_reclaim_failed โ€” since linux 2.6.31
  • pginodesteal โ€” since linux 2.6.0
  • slabs_scanned โ€” since linux 2.6.5
  • kswapd_inodesteal โ€” since linux 2.6.0
  • kswapd_low_wmark_hit_quickly โ€” since Linux 2.6.33
  • kswapd_high_wmark_hit_quickly โ€” since Linux 2.6.33
  • pageoutrun โ€” since Linux 2.6.0
  • allocstall โ€” since Linux 2.6.0
  • pgrotated โ€” since Linux 2.6.0
  • drop_pagecache โ€” since Linux 3.15
  • drop_slab โ€” since Linux 3.15
  • numa_pte_updates โ€” since Linux 3.8
  • numa_huge_pte_updates โ€” since Linux 3.13
  • numa_hint_faults โ€” since Linux 3.8
  • numa_hint_faults_local โ€” since Linux 3.8
  • numa_pages_migrated โ€” since Linux 3.8
  • pgmigrate_success โ€” since Linux 3.8
  • pgmigrate_fail โ€” since Linux 3.8
  • compact_migrate_scanned โ€” since Linux 3.8
  • compact_free_scanned โ€” since Linux 3.8
  • compact_isolated โ€” since Linux 3.8
  • compact_stall โ€” since Linux 2.6.35. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • compact_fail โ€” since Linux 2.6.35. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • compact_success โ€” since Linux 2.6.35. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • htlb_buddy_alloc_success โ€” since Linux 2.6.26
  • htlb_buddy_alloc_fail โ€” since Linux 2.6.26
  • unevictable_pgs_culled โ€” since Linux 2.6.28
  • unevictable_pgs_scanned โ€” since Linux 2.6.28
  • unevictable_pgs_rescued โ€” since Linux 2.6.28
  • unevictable_pgs_mlocked โ€” since Linux 2.6.28
  • unevictable_pgs_munlocked โ€” since Linux 2.6.28
  • unevictable_pgs_cleared โ€” since Linux 2.6.28
  • unevictable_pgs_stranded โ€” since Linux 2.6.28
  • thp_fault_alloc โ€” since Linux 2.6.39. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_fault_fallback โ€” since Linux 2.6.39. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_collapse_alloc โ€” since Linux 2.6.39. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_collapse_alloc_failed โ€” since Linux 2.6.39. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_split โ€” since Linux 2.6.39. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_zero_page_alloc โ€” since Linux 3.8. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • thp_zero_page_alloc_failed โ€” since Linux 3.8. See the kernel source file Documentation/admin-guide/mm/transhuge.rst.
  • balloon_inflate โ€” since Linux 3.18
  • balloon_deflate โ€” since Linux 3.18
  • balloon_migrate โ€” since Linux 3.18
  • nr_tlb_remote_flush โ€” since Linux 3.12
  • nr_tlb_remote_flush_received โ€” since Linux 3.12
  • nr_tlb_local_flush_all โ€” since Linux 3.12
  • nr_tlb_local_flush_one โ€” since Linux 3.12
  • vmacache_find_calls โ€” since Linux 3.16
  • vmacache_find_hits โ€” since Linux 3.16
  • vmacache_full_flushes โ€” since Linux 3.19

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

  • proc(5) โ€” go read it, it's the parent vibe ๐Ÿซถ

And that's the whole thing, bestie. This page came from Linux man-pages 6.20, dated 2026-02-08. Now go cat /proc/vmstat and watch your kernel overshare. Periodt. ๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from
  • arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • ๐Ÿ“œ the page's license: GPL-3.0-or-later
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms