The vmstat files

Updated: April 19, 2023

The vmstat files provide information on virtual memory usage of both your system and process.

System Counters

The values of the counters below are the totals of the values of each /proc/<pid> /vmstat, where pid is the process ID. You can access these values by viewing the /proc/vm/stats file:

cat /proc/vm/stats
vm_aspace
Number of address spaces in the system
vm_region
Total number of regions in the system
vm_vpage
Number of virtual pages in the system
vm_map
Total number of structures describing the address space mapping of a page
vm_cache_map
Number of valid pages in the virtual memory page cache
vm_object
Number of non-shared memory objects in the virtual memory cache
vm_shmem
Number of shared objects in the virtual memory cache
vmem_avail
Available memory you can reserve
rmem_avail
Available memory for kernel wiring
rmem_min
Memory held to satisfy non-reserved (cacheable) pages
flt_read/flt_write/flt_exec
Total number of page faults from read, write, and execute respectively
flt_wire
Total number of wired pages that are committed to a physical memory page in the system
flt_zero
Total number of zero pages which are implicitly shared
flt_zfod
Total number of zero pages where implicit sharing was broken on demand (zero fill on demand)
flt_cow
Total number of implicitly shared non zero pages which were copied (copy on write)
flt_hit
Number of page faults on pages that were available
flt_miss
Total number of pages from a mapped object that required loading
pmem_xdom_page
Number of times the page allocator had to cross domains
pmem_xdom_contig
Number of times the page allocator had to aggregate discontiguous pages
fd_pend_close
Number of file descriptor objects on the closing queue
fd_free_obj
Number of file descriptor objects on the free queue
kmem_vavail
Mapping space available in the kernel
page_count
Number of RAM pages available to the allocator
anon_count
Number of anonymous pages in use
cache_object
Number of cache mapping pages
pages_inactive
Number of pages in an inactive state
pages_clean
Number of pages in a clean state
pages_dirty
Number of pages in a dirty state
pages_wired
Number of pages in a wired state
pages_free
Number of pages in a free state
pages_kernel
Number of pages used by the kernel
pages_unknown
Number of pages in an unknown state
pages_reserved
Number of reserved pages (non-allocatable)

Process Counters

You can access these counters by viewing the /proc/<pid> /vmstat file, where pid is the process ID:
    cat /proc/<pid>/vmstat
as_stats.vm_region
Number of regions
as_stats.vm_map
Number of map entries
as_stats.map_size
Total size of all regions in the address space
as_stats.map_phys
Number of pages that were mapped using mmap() with the MAP_PHYS flag
as_stats.map_shared
Number of pages that were mapped using mmap() with the MAP_SHARED flag
as_stats.map_private
Number of pages that were mapped using mmap() with the MAP_PRIVATE flag
as_stats.flt_read/flt_write/flt_exec
Total number of page faults from read, write, and execute respectively
as_stats.flt_zero
Number of zero pages which are implicitly shared
as_stats.flt_zfod
Number of zero pages where implicit sharing was broken on demand (zero fill on demand)
as_stats.flt_cow
Number of implicitly shared non zero pages which were copied (copy on write)
as_stats.flt_hit
Number of pages from a mapped object that have been reused before the page was recycled
as_stats.flt_miss
Number of pages from a mapped object that required loading
as_stats.anon_rsv
Number of reserved anonymous pages
as_stats.rlimit_data
Number of private anonymous page mappings, regardless of any reservations