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: u64

absolute 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: u64

absolute number: number of pages mlocked

§nr_bounce: u64

absolue 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: u64

absolute number: the number of anonymous pages considered inactive inactive means not considered to be currently in use

§nr_active_anon: u64

absolute number: the number of anonymous pages considered active active means considered to be currently in use

§nr_inactive_file: u64

absolute number: the number of pages containing file data considered inactive inactive means not considered to be currently in use

§nr_active_file: u64

absolute number: the number of pages containing file data considered active active means considered to be currently in use

§nr_unevictable: u64

absolute 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: u64

absolute number: number of anonymous memory pages

§nr_mapped: u64

absolute number: number of mapped memory pages

§nr_file_pages: u64

absolute number: the number of pages containing file data (nr_inactive_file, nr_active_file, nr_shmem, …?)

§nr_dirty: u64

absolute number: the number of (file) pages changed and waiting to be written out to disk

§nr_writeback: u64

absolute number: the number of (file) pages that are actively being written to disk (this lowers nr_dirty)

§nr_writeback_temp: u64

absolute number: the number of (file) pages that are actively being written to disk using temporary buffers. Used by fuse(?)

§nr_shmem: u64

absolute 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: u64

absolute 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: u64

absolute number: the current number of pages used as dirty threshold by the kernel

§nr_dirty_background_threshold: u64

absolute number: the current number of pages used as dirty background threshold by the kernel

§pgpgin: u64

counter: the number of kilobytes paged in (read) from disk

§pgpgout: u64

counter: the number of kilobytes paged out (written) to disk

§pswpin: u64

counter: the number of pages swapped in (read back from swap device)

§pswpout: u64

counter: the number of pages swapped out (written to swap device)

§pgalloc_dma: u64

counter: the number of page allocations in dma memory

§pgalloc_dma32: u64

counter: the number of page allocations in dma32 memory

§pgalloc_normal: u64

counter: the number of page allocations in normal memory

§pgalloc_movable: u64

counter: 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: u64

counter: the number of pages placed in the freelist

§pgactivate: u64

counter: the number of pages moved from inactive -> active

§pgdeactivate: u64

counter: the number of pages moved from active -> inactive

§pglazyfree: u64§pglazyfreed: u64§pgfault: u64

counter: the number of page faults

§pgmajfault: u64

counter: the number of page faults requiring a disk read

§pgrefill: u64

counter: the number of scanned pages in an active LRU list

§pgreuse: Option<u64>§pgsteal_kswapd: u64

counter: the number of pages reclaimed from the pagecache and swapcache by kswapd

§pgsteal_direct: u64

counter: 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: u64

counter: the number of pages scanned by kswapd

§pgscan_direct: u64

counter: the number of pages scanned by user tasks

§pgscan_khugepaged: Option<u64>

counter: the number of pages scanned by khugepagd

§pgscan_direct_throttle: u64

counter: 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: u64

counter: the number of pages reclaimed via inode freeing

§slabs_scanned: Option<u64>§kswapd_inodesteal: u64

counter: 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: u64

counter: the number of pages rotated to the tail of the LRU

§drop_pagecache: u64

counter: the number of requests for dropping the page cache

§drop_slab: u64

counter: the number of requests for dropping the slab cache

§oom_kill: u64

counter: 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: u64

counter: the number of transparent hugepages allocated to satisfy a page fault

§thp_fault_fallback: u64§thp_fault_fallback_charge: Option<u64>§thp_collapse_alloc: u64

counter: 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_scan_exceed_share_pte: Option<u64>§thp_zero_page_alloc: u64§thp_zero_page_alloc_failed: u64§thp_swpout: u64

counter: the number of transparent hugepages which are swapped out in one piece (wihtout splitting)

§thp_swpout_fallback: u64

clounter: 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: u64

absolute number: number of NFS unstable pages.

Implementations§

Trait Implementations§

source§

impl Debug for ProcVmStat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProcVmStat

source§

fn default() -> ProcVmStat

Returns the “default value” for a type. Read more
source§

impl PartialEq for ProcVmStat

source§

fn eq(&self, other: &ProcVmStat) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ProcVmStat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.