Struct proc_sys_parser::vmstat::ProcVmStat
source · pub struct ProcVmStat {Show 176 fields
pub nr_free_pages: u64,
pub nr_zone_inactive_anon: u64,
pub nr_zone_active_anon: u64,
pub nr_zone_inactive_file: u64,
pub nr_zone_active_file: u64,
pub nr_zone_unevictable: u64,
pub nr_zone_write_pending: u64,
pub nr_mlock: u64,
pub nr_bounce: u64,
pub nr_zspages: u64,
pub nr_free_cma: u64,
pub numa_hit: u64,
pub numa_miss: u64,
pub numa_foreign: u64,
pub numa_interleave: u64,
pub numa_local: u64,
pub numa_other: u64,
pub nr_inactive_anon: u64,
pub nr_active_anon: u64,
pub nr_inactive_file: u64,
pub nr_active_file: u64,
pub nr_unevictable: u64,
pub nr_slab_reclaimable: u64,
pub nr_slab_unreclaimable: u64,
pub nr_isolated_anon: u64,
pub nr_isolated_file: u64,
pub workingset_nodes: Option<u64>,
pub workingset_refault_anon: Option<u64>,
pub workingset_refault_file: Option<u64>,
pub workingset_activate_anon: Option<u64>,
pub workingset_activate_file: Option<u64>,
pub workingset_restore_anon: Option<u64>,
pub workingset_restore_file: Option<u64>,
pub workingset_nodereclaim: u64,
pub nr_anon_pages: u64,
pub nr_mapped: u64,
pub nr_file_pages: u64,
pub nr_dirty: u64,
pub nr_writeback: u64,
pub nr_writeback_temp: u64,
pub nr_shmem: u64,
pub nr_shmem_hugepages: u64,
pub nr_shmem_pmdmapped: u64,
pub nr_file_hugepages: Option<u64>,
pub nr_file_pmdmapped: Option<u64>,
pub nr_anon_transparent_hugepages: u64,
pub nr_vmscan_write: u64,
pub nr_vmscan_immediate_reclaim: u64,
pub nr_dirtied: u64,
pub nr_written: u64,
pub nr_throttled_written: Option<u64>,
pub nr_kernel_misc_reclaimable: Option<u64>,
pub nr_foll_pin_acquired: Option<u64>,
pub nr_foll_pin_released: Option<u64>,
pub nr_kernel_stack: u64,
pub nr_shadow_call_stack: Option<u64>,
pub nr_page_table_pages: u64,
pub nr_sec_page_table_pages: Option<u64>,
pub nr_swapcached: Option<u64>,
pub pgpromote_success: Option<u64>,
pub pgpromote_candidate: Option<u64>,
pub nr_dirty_threshold: u64,
pub nr_dirty_background_threshold: u64,
pub pgpgin: u64,
pub pgpgout: u64,
pub pswpin: u64,
pub pswpout: u64,
pub pgalloc_dma: u64,
pub pgalloc_dma32: u64,
pub pgalloc_normal: u64,
pub pgalloc_movable: u64,
pub pgalloc_device: Option<u64>,
pub allocstall_dma: u64,
pub allocstall_dma32: u64,
pub allocstall_normal: u64,
pub allocstall_movable: u64,
pub allocstall_device: Option<u64>,
pub pgskip_dma: u64,
pub pgskip_dma32: u64,
pub pgskip_normal: u64,
pub pgskip_movable: u64,
pub pgskip_device: Option<u64>,
pub pgfree: u64,
pub pgactivate: u64,
pub pgdeactivate: u64,
pub pglazyfree: u64,
pub pglazyfreed: u64,
pub pgfault: u64,
pub pgmajfault: u64,
pub pgrefill: u64,
pub pgreuse: Option<u64>,
pub pgsteal_kswapd: u64,
pub pgsteal_direct: u64,
pub pgsteal_khugepaged: Option<u64>,
pub pgdemote_kswapd: Option<u64>,
pub pgdemote_direct: Option<u64>,
pub pgdemote_khugepaged: Option<u64>,
pub pgscan_kswapd: u64,
pub pgscan_direct: u64,
pub pgscan_khugepaged: Option<u64>,
pub pgscan_direct_throttle: u64,
pub pgscan_anon: Option<u64>,
pub pgscan_file: Option<u64>,
pub pgsteal_anon: Option<u64>,
pub pgsteal_file: Option<u64>,
pub zone_reclaim_failed: u64,
pub pginodesteal: u64,
pub slabs_scanned: Option<u64>,
pub kswapd_inodesteal: u64,
pub kswapd_low_wmark_hit_quickly: u64,
pub kswapd_high_wmark_hit_quickly: u64,
pub pageoutrun: u64,
pub pgrotated: u64,
pub drop_pagecache: u64,
pub drop_slab: u64,
pub oom_kill: u64,
pub numa_pte_updates: u64,
pub numa_huge_pte_updates: u64,
pub numa_hint_faults: u64,
pub numa_hint_faults_local: u64,
pub numa_pages_migrated: u64,
pub pgmigrate_success: u64,
pub pgmigrate_fail: u64,
pub thp_migration_success: Option<u64>,
pub thp_migration_fail: Option<u64>,
pub thp_migration_split: Option<u64>,
pub compact_migrate_scanned: u64,
pub compact_free_scanned: u64,
pub compact_isolated: u64,
pub compact_stall: u64,
pub compact_fail: u64,
pub compact_success: u64,
pub compact_daemon_wake: u64,
pub compact_daemon_migrate_scanned: u64,
pub compact_daemon_free_scanned: u64,
pub htlb_buddy_alloc_success: u64,
pub htlb_buddy_alloc_fail: u64,
pub cma_alloc_success: Option<u64>,
pub cma_alloc_fail: Option<u64>,
pub unevictable_pgs_culled: u64,
pub unevictable_pgs_scanned: u64,
pub unevictable_pgs_rescued: u64,
pub unevictable_pgs_mlocked: u64,
pub unevictable_pgs_munlocked: u64,
pub unevictable_pgs_cleared: u64,
pub unevictable_pgs_stranded: u64,
pub thp_fault_alloc: u64,
pub thp_fault_fallback: u64,
pub thp_fault_fallback_charge: Option<u64>,
pub thp_collapse_alloc: u64,
pub thp_collapse_alloc_failed: u64,
pub thp_file_alloc: u64,
pub thp_file_fallback: Option<u64>,
pub thp_file_fallback_charge: Option<u64>,
pub thp_file_mapped: u64,
pub thp_split_page: u64,
pub thp_split_page_failed: u64,
pub thp_deferred_split_page: u64,
pub thp_split_pmd: u64,
pub thp_scan_exceed_none_pte: Option<u64>,
pub thp_scan_exceed_swap_pte: Option<u64>,
pub thp_scan_exceed_share_pte: Option<u64>,
pub thp_zero_page_alloc: u64,
pub thp_zero_page_alloc_failed: u64,
pub thp_swpout: u64,
pub thp_swpout_fallback: u64,
pub balloon_inflate: u64,
pub balloon_deflate: u64,
pub balloon_migrate: u64,
pub swap_ra: u64,
pub swap_ra_hit: u64,
pub ksm_swpin_copy: Option<u64>,
pub cow_ksm: Option<u64>,
pub zswpin: Option<u64>,
pub zswpout: Option<u64>,
pub nr_unstable: u64,
}Expand description
Struct for holding /proc/vmstat statistics
Fields§
§nr_free_pages: u64absolute number: number of pages free
nr_zone_inactive_anon: u64§nr_zone_active_anon: u64§nr_zone_inactive_file: u64§nr_zone_active_file: u64§nr_zone_unevictable: u64§nr_zone_write_pending: u64§nr_mlock: u64absolute number: number of pages mlocked
nr_bounce: u64absolue number: number of pages as bounce buffers
nr_zspages: u64§nr_free_cma: u64§numa_hit: u64§numa_miss: u64§numa_foreign: u64§numa_interleave: u64§numa_local: u64§numa_other: u64§nr_inactive_anon: u64absolute number: the number of anonymous pages considered inactive inactive means not considered to be currently in use
nr_active_anon: u64absolute number: the number of anonymous pages considered active active means considered to be currently in use
nr_inactive_file: u64absolute number: the number of pages containing file data considered inactive inactive means not considered to be currently in use
nr_active_file: u64absolute number: the number of pages containing file data considered active active means considered to be currently in use
nr_unevictable: u64absolute number: the number of pages that cannot be paged out common reasons are: belonging to a ramdisk, protected by mlock(), shared and locked, or other reasons for the kernel not to allow paging out.
nr_slab_reclaimable: u64§nr_slab_unreclaimable: u64§nr_isolated_anon: u64§nr_isolated_file: u64§workingset_nodes: Option<u64>§workingset_refault_anon: Option<u64>§workingset_refault_file: Option<u64>§workingset_activate_anon: Option<u64>§workingset_activate_file: Option<u64>§workingset_restore_anon: Option<u64>§workingset_restore_file: Option<u64>§workingset_nodereclaim: u64§nr_anon_pages: u64absolute number: number of anonymous memory pages
nr_mapped: u64absolute number: number of mapped memory pages
nr_file_pages: u64absolute number: the number of pages containing file data (nr_inactive_file, nr_active_file, nr_shmem, …?)
nr_dirty: u64absolute number: the number of (file) pages changed and waiting to be written out to disk
nr_writeback: u64absolute number: the number of (file) pages that are actively being written to disk (this lowers nr_dirty)
nr_writeback_temp: u64absolute number: the number of (file) pages that are actively being written to disk using temporary buffers. Used by fuse(?)
nr_shmem: u64absolute number: the number of smallpages shared memory pages
nr_shmem_hugepages: u64§nr_shmem_pmdmapped: u64§nr_file_hugepages: Option<u64>§nr_file_pmdmapped: Option<u64>§nr_anon_transparent_hugepages: u64§nr_vmscan_write: u64§nr_vmscan_immediate_reclaim: u64§nr_dirtied: u64§nr_written: u64§nr_throttled_written: Option<u64>§nr_kernel_misc_reclaimable: Option<u64>§nr_foll_pin_acquired: Option<u64>§nr_foll_pin_released: Option<u64>§nr_kernel_stack: u64§nr_shadow_call_stack: Option<u64>§nr_page_table_pages: u64absolute number: number of pages used for pagetables
nr_sec_page_table_pages: Option<u64>§nr_swapcached: Option<u64>§pgpromote_success: Option<u64>§pgpromote_candidate: Option<u64>§nr_dirty_threshold: u64absolute number: the current number of pages used as dirty threshold by the kernel
nr_dirty_background_threshold: u64absolute number: the current number of pages used as dirty background threshold by the kernel
pgpgin: u64counter: the number of kilobytes paged in (read) from disk
pgpgout: u64counter: the number of kilobytes paged out (written) to disk
pswpin: u64counter: the number of pages swapped in (read back from swap device)
pswpout: u64counter: the number of pages swapped out (written to swap device)
pgalloc_dma: u64counter: the number of page allocations in dma memory
pgalloc_dma32: u64counter: the number of page allocations in dma32 memory
pgalloc_normal: u64counter: the number of page allocations in normal memory
pgalloc_movable: u64counter: the number of page allocations in movable memory
pgalloc_device: Option<u64>counter: the number of page allocations in device memory
allocstall_dma: u64§allocstall_dma32: u64§allocstall_normal: u64§allocstall_movable: u64§allocstall_device: Option<u64>§pgskip_dma: u64§pgskip_dma32: u64§pgskip_normal: u64§pgskip_movable: u64§pgskip_device: Option<u64>§pgfree: u64counter: the number of pages placed in the freelist
pgactivate: u64counter: the number of pages moved from inactive -> active
pgdeactivate: u64counter: the number of pages moved from active -> inactive
pglazyfree: u64§pglazyfreed: u64§pgfault: u64counter: the number of page faults
pgmajfault: u64counter: the number of page faults requiring a disk read
pgrefill: u64counter: the number of scanned pages in an active LRU list
pgreuse: Option<u64>§pgsteal_kswapd: u64counter: the number of pages reclaimed from the pagecache and swapcache by kswapd
pgsteal_direct: u64counter: the number of pages reclaimed from by the pagecache and swapcache by user tasks
pgsteal_khugepaged: Option<u64>counter: the number of pages reclaimed from the pagecache and swapcache by khugepaged
pgdemote_kswapd: Option<u64>§pgdemote_direct: Option<u64>§pgdemote_khugepaged: Option<u64>§pgscan_kswapd: u64counter: the number of pages scanned by kswapd
pgscan_direct: u64counter: the number of pages scanned by user tasks
pgscan_khugepaged: Option<u64>counter: the number of pages scanned by khugepagd
pgscan_direct_throttle: u64counter: the number of occurences that direct reclaimers (user tasks) get throttled This means they get stalled. Suggested solution is increasing vm.min_free_kbytes.
pgscan_anon: Option<u64>counter: the number of pages scanned from anonymous memory
pgscan_file: Option<u64>counter: the number of pages scanned from file backed memory
pgsteal_anon: Option<u64>counter: the number of pages reclaimed from anonymous memory
pgsteal_file: Option<u64>counter: the number of pages reclaimed from file backed memory
zone_reclaim_failed: u64§pginodesteal: u64counter: the number of pages reclaimed via inode freeing
slabs_scanned: Option<u64>§kswapd_inodesteal: u64counter: the number of pages reclaimed by kswapd via inode freeing
kswapd_low_wmark_hit_quickly: u64§kswapd_high_wmark_hit_quickly: u64§pageoutrun: u64§pgrotated: u64counter: the number of pages rotated to the tail of the LRU
drop_pagecache: u64counter: the number of requests for dropping the page cache
drop_slab: u64counter: the number of requests for dropping the slab cache
oom_kill: u64counter: the number of occurences of the kernel invoking the OOM killer
numa_pte_updates: u64§numa_huge_pte_updates: u64§numa_hint_faults: u64§numa_hint_faults_local: u64§numa_pages_migrated: u64§pgmigrate_success: u64§pgmigrate_fail: u64§thp_migration_success: Option<u64>§thp_migration_fail: Option<u64>§thp_migration_split: Option<u64>§compact_migrate_scanned: u64§compact_free_scanned: u64§compact_isolated: u64§compact_stall: u64§compact_fail: u64§compact_success: u64§compact_daemon_wake: u64§compact_daemon_migrate_scanned: u64§compact_daemon_free_scanned: u64§htlb_buddy_alloc_success: u64§htlb_buddy_alloc_fail: u64§cma_alloc_success: Option<u64>§cma_alloc_fail: Option<u64>§unevictable_pgs_culled: u64§unevictable_pgs_scanned: u64§unevictable_pgs_rescued: u64§unevictable_pgs_mlocked: u64§unevictable_pgs_munlocked: u64§unevictable_pgs_cleared: u64§unevictable_pgs_stranded: u64§thp_fault_alloc: u64counter: the number of transparent hugepages allocated to satisfy a page fault
thp_fault_fallback: u64§thp_fault_fallback_charge: Option<u64>§thp_collapse_alloc: u64counter: the number of transparent hugepages allocated to allow collapsing an existing range of pages
thp_collapse_alloc_failed: u64§thp_file_alloc: u64§thp_file_fallback: Option<u64>§thp_file_fallback_charge: Option<u64>§thp_file_mapped: u64§thp_split_page: u64§thp_split_page_failed: u64§thp_deferred_split_page: u64§thp_split_pmd: u64§thp_scan_exceed_none_pte: Option<u64>§thp_scan_exceed_swap_pte: Option<u64>§thp_zero_page_alloc: u64§thp_zero_page_alloc_failed: u64§thp_swpout: u64counter: the number of transparent hugepages which are swapped out in one piece (wihtout splitting)
thp_swpout_fallback: u64clounter: the number of transparent hugepages which are split before swapout. This usually happens because of the inability to allocate continuous swap space for the huge page.
balloon_inflate: u64§balloon_deflate: u64§balloon_migrate: u64§swap_ra: u64§swap_ra_hit: u64§ksm_swpin_copy: Option<u64>§cow_ksm: Option<u64>§zswpin: Option<u64>§zswpout: Option<u64>§nr_unstable: u64absolute number: number of NFS unstable pages.
Implementations§
source§impl ProcVmStat
impl ProcVmStat
pub fn new() -> Self
pub fn parse_proc_vmstat_output( proc_vmstat: &str, ) -> Result<ProcVmStat, ProcSysParserError>
pub fn read_proc_vmstat( proc_vmstat_file: &str, ) -> Result<ProcVmStat, ProcSysParserError>
Trait Implementations§
source§impl Debug for ProcVmStat
impl Debug for ProcVmStat
source§impl Default for ProcVmStat
impl Default for ProcVmStat
source§fn default() -> ProcVmStat
fn default() -> ProcVmStat
source§impl PartialEq for ProcVmStat
impl PartialEq for ProcVmStat
source§fn eq(&self, other: &ProcVmStat) -> bool
fn eq(&self, other: &ProcVmStat) -> bool
self and other values to be equal, and is used
by ==.