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