The vmstat files
The vmstat files provide memory usage information for both the system and processes.
System counters
cat /proc/vm/stats
- vm_aspace
- Number of address spaces in the system, which corresponds to the number of active processes
- vm_object
- Number of file-backed memory objects in the memory cache
- vm_shmem
- Number of shared objects in the memory cache
- vmem_avail
-
The number of pages that have not been reserved by allocations, and are thus available for new allocations
- pmem_xdom_page
- Number of times the page allocator had to cross domains
- pmem_xdom_contig
- Number of times the memory manager page allocator had to aggregate non-contiguous 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 page allocator
- cache_object
- Amount of memory held in file-backed cache objects
- cache_shmem
-
Amount of memory held in anonymous shared-memory objects
- pages_allocated
-
Amount of physical memory that is allocated but not mapped
- pages_mapped
-
Amount of allocated and mapped memory
- pages_free
- Number of pages in a free state
- pages_kernel
- Number of pages used by the kernel for its own purposes. It includes the page-table pages allocated for processes.
- pages_reserved
-
The number of pages that the memory manager knows about, but cannot allocate to processes as regular memory. Such ranges are typically the result of the startup program, which runs before the kernel, reserving memory for special-purpose pools, or as a way to reduce boot time (in which case the memory can be added to the system later).
Process counters
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.rss
-
Amount of physical memory mapped by the process (resident set size); this value may be larger than the actual amount of mapped physical memory because it counts every mapped page, even if the process has multiple mappings of the same page
- as_stats.anon_rsv
- Number of reserved anonymous pages
- as_stats.rlimit_data
- Number of private anonymous page mappings, regardless of any reservations