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.31nr_alloc_batchโ since Linux 3.12nr_inactive_anonโ since Linux 2.6.28nr_active_anonโ since Linux 2.6.28nr_inactive_fileโ since Linux 2.6.28nr_active_fileโ since Linux 2.6.28nr_unevictableโ since Linux 2.6.28nr_mlockโ since Linux 2.6.28nr_anon_pagesโ since Linux 2.6.18nr_mappedโ since Linux 2.6.0nr_file_pagesโ since Linux 2.6.18nr_dirtyโ since Linux 2.6.0nr_writebackโ since Linux 2.6.0nr_slab_reclaimableโ since Linux 2.6.19nr_slab_unreclaimableโ since Linux 2.6.19nr_page_table_pagesโ since Linux 2.6.0nr_kernel_stackโ since Linux 2.6.32. This one is the amount of memory allocated to kernel stacks.nr_unstableโ since Linux 2.6.0nr_bounceโ since Linux 2.6.12nr_vmscan_writeโ since Linux 2.6.19nr_vmscan_immediate_reclaimโ since Linux 3.2nr_writeback_tempโ since Linux 2.6.26nr_isolated_anonโ since Linux 2.6.32nr_isolated_fileโ since Linux 2.6.32nr_shmemโ since Linux 2.6.32. Pages used by shmem andtmpfs(5).nr_dirtiedโ since Linux 2.6.37nr_writtenโ since Linux 2.6.37nr_pages_scannedโ since Linux 3.17numa_hitโ since Linux 2.6.18numa_missโ since Linux 2.6.18numa_foreignโ since Linux 2.6.18numa_interleaveโ since Linux 2.6.18numa_localโ since Linux 2.6.18numa_otherโ since Linux 2.6.18workingset_refaultโ since Linux 3.15workingset_activateโ since Linux 3.15workingset_nodereclaimโ since Linux 3.15nr_anon_transparent_hugepagesโ since Linux 2.6.38nr_free_cmaโ since Linux 3.7. Number of free CMA (Contiguous Memory Allocator) pages.nr_dirty_thresholdโ since Linux 2.6.37nr_dirty_background_thresholdโ since Linux 2.6.37pgpginโ since Linux 2.6.0pgpgoutโ since Linux 2.6.0pswpinโ since Linux 2.6.0pswpoutโ since Linux 2.6.0pgalloc_dmaโ since Linux 2.6.5pgalloc_dma32โ since Linux 2.6.16pgalloc_normalโ since Linux 2.6.5pgalloc_highโ since Linux 2.6.5pgalloc_movableโ since Linux 2.6.23pgfreeโ since Linux 2.6.0pgactivateโ since Linux 2.6.0pgdeactivateโ since Linux 2.6.0pgfaultโ since Linux 2.6.0pgmajfaultโ since Linux 2.6.0pgrefill_dmaโ since Linux 2.6.5pgrefill_dma32โ since Linux 2.6.16pgrefill_normalโ since Linux 2.6.5pgrefill_highโ since Linux 2.6.5pgrefill_movableโ since Linux 2.6.23pgsteal_kswapd_dmaโ since Linux 3.4pgsteal_kswapd_dma32โ since Linux 3.4pgsteal_kswapd_normalโ since Linux 3.4pgsteal_kswapd_highโ since Linux 3.4pgsteal_kswapd_movableโ since Linux 3.4pgsteal_direct_dmaโ no version tag on this one, it just is ๐pgsteal_direct_dma32โ since Linux 3.4pgsteal_direct_normalโ since Linux 3.4pgsteal_direct_highโ since Linux 3.4pgsteal_direct_movableโ since Linux 2.6.23pgscan_kswapd_dmaโ no version tag, living its truthpgscan_kswapd_dma32โ since Linux 2.6.16pgscan_kswapd_normalโ since Linux 2.6.5pgscan_kswapd_highโ no version tagpgscan_kswapd_movableโ since Linux 2.6.23pgscan_direct_dmaโ no version tagpgscan_direct_dma32โ since Linux 2.6.16pgscan_direct_normalโ no version tagpgscan_direct_highโ no version tagpgscan_direct_movableโ since Linux 2.6.23pgscan_direct_throttleโ since Linux 3.6zone_reclaim_failedโ since linux 2.6.31pginodestealโ since linux 2.6.0slabs_scannedโ since linux 2.6.5kswapd_inodestealโ since linux 2.6.0kswapd_low_wmark_hit_quicklyโ since Linux 2.6.33kswapd_high_wmark_hit_quicklyโ since Linux 2.6.33pageoutrunโ since Linux 2.6.0allocstallโ since Linux 2.6.0pgrotatedโ since Linux 2.6.0drop_pagecacheโ since Linux 3.15drop_slabโ since Linux 3.15numa_pte_updatesโ since Linux 3.8numa_huge_pte_updatesโ since Linux 3.13numa_hint_faultsโ since Linux 3.8numa_hint_faults_localโ since Linux 3.8numa_pages_migratedโ since Linux 3.8pgmigrate_successโ since Linux 3.8pgmigrate_failโ since Linux 3.8compact_migrate_scannedโ since Linux 3.8compact_free_scannedโ since Linux 3.8compact_isolatedโ since Linux 3.8compact_stallโ since Linux 2.6.35. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.compact_failโ since Linux 2.6.35. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.compact_successโ since Linux 2.6.35. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.htlb_buddy_alloc_successโ since Linux 2.6.26htlb_buddy_alloc_failโ since Linux 2.6.26unevictable_pgs_culledโ since Linux 2.6.28unevictable_pgs_scannedโ since Linux 2.6.28unevictable_pgs_rescuedโ since Linux 2.6.28unevictable_pgs_mlockedโ since Linux 2.6.28unevictable_pgs_munlockedโ since Linux 2.6.28unevictable_pgs_clearedโ since Linux 2.6.28unevictable_pgs_strandedโ since Linux 2.6.28thp_fault_allocโ since Linux 2.6.39. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_fault_fallbackโ since Linux 2.6.39. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_collapse_allocโ since Linux 2.6.39. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_collapse_alloc_failedโ since Linux 2.6.39. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_splitโ since Linux 2.6.39. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_zero_page_allocโ since Linux 3.8. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.thp_zero_page_alloc_failedโ since Linux 3.8. See the kernel source fileDocumentation/admin-guide/mm/transhuge.rst.balloon_inflateโ since Linux 3.18balloon_deflateโ since Linux 3.18balloon_migrateโ since Linux 3.18nr_tlb_remote_flushโ since Linux 3.12nr_tlb_remote_flush_receivedโ since Linux 3.12nr_tlb_local_flush_allโ since Linux 3.12nr_tlb_local_flush_oneโ since Linux 3.12vmacache_find_callsโ since Linux 3.16vmacache_find_hitsโ since Linux 3.16vmacache_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
- Copyright 1994-1995, Daniel Quinlan <Daniel.Quinlan@linux.org>
- Copyright 2002-2017, Michael Kerrisk <mtk.manpages@gmail.com>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms