/proc/vmstat输出含义

nr_free_pages 空闲页数量
nr_zone_inactive_anon 所有zone统计的非活跃的匿名页数之和
nr_zone_active_anon 所有zone统计的活跃的匿名页数之和
nr_zone_inactive_file 所有zone统计的非活跃的文件页数之和
nr_zone_active_file 所有zone统计的活跃的文件页数之和
nr_zone_unevictable 所有zone统计的不可释放的页数之和
nr_zone_write_pending Count of dirty, writeback and unstable pages
nr_mlock mlock的页数
nr_page_table_pages 分配到页表的页数
nr_kernel_stack Amount of memory allocated to kernel stacks
nr_bounce dma缓冲取页数量
nr_zspages Zsmalloc分配器分配的页数量
nr_free_cma Number of free CMA (Contiguous Memory Allocator) pages
numa_hit A process wanted to allocate memory from this node, and succeeded
numa_miss allocated in non intended node
numa_foreign A process wanted to allocate on this node,but ended up with memory from another one.
numa_interleave 交织分配的页
numa_local allocation from local node
numa_other allocation from other node
nr_inactive_anon 所有node统计的非活跃的匿名页数之和
nr_active_anon 所有node统计的活跃的匿名页数之和
nr_inactive_file 所有node统计的非活跃的文件页数之和
nr_active_file 所有node统计的活跃的文件页数之和
nr_unevictable 所有node统计的不可释放的页数之和
nr_slab_reclaimable 已经分配出去的reclaimable slab object的内存大小
nr_slab_unreclaimable 已经分配出去的unreclaimable slab object的内存大小
nr_isolated_anon Temporary isolated pages from anon lru
nr_isolated_file Temporary isolated pages from file lru
workingset_nodes TODO
workingset_refault_anon Number of refaults of previously evicted anonymous pages
workingset_refault_file Number of refaults of previously evicted file pages
workingset_activate_anon Number of refaulted anonymous pages that were immediately activated.
workingset_activate_file Number of refaulted file pages that were immediately activated
workingset_restore_anon Number of restored anonymous pages which have been detected as an active workingset before they got reclaimed.
workingset_restore_file Number of restored file pages which have been detected as an
active workingset before they got reclaimed.
workingset_nodereclaim Number of times a shadow node has been reclaimed
nr_anon_pages 匿名页的页数
nr_mapped 映射到文件的页数
nr_file_pages 表示所有缓存页的总和包含了cache 和buffers. total_swapcache_pages
nr_dirty 脏页数
nr_writeback 回写页数
nr_writeback_temp Writeback using temporary buffers(主要是fuse fs在writepage的时候申请的页数量)
nr_shmem Pages used by shmem and tmpfs
nr_shmem_hugepages transparent shmem huge pages
nr_shmem_pmdmapped shmem huge pages currently mapped hugely
nr_file_hugepages 文件大页数量
nr_file_pmdmapped File huge pages currently mapped hugely
nr_anon_transparent_hugepages 匿名thp页的数量(以大页为单位,即不以4k为单位记)
nr_vmscan_write writeback of dirty pages during a scan of the LRU
nr_vmscan_immediate_reclaim 见函数shrink_page_list(),此处是把页置上reclaim标志然后就退出
nr_dirtied page dirtyings since bootup
nr_written page writings since bootup
nr_kernel_misc_reclaimable reclaimable non-slab kernel pages
nr_dirty_threshold background-writeback thresholds,见global_dirty_limits
nr_dirty_background_threshold dirty-throttling thresholds,见global_dirty_limits
pgpgin 读入的页数,见submit_bio
pgpgout 写出的页数,见submit_bio
pswpin 读入的交换分区页数
pswpout 换出的交换分区页数
pgalloc_dma 从zone dma分配的页数
pgalloc_dma32 从zone dma32分配的页数
pgalloc_normal 从zone normal分配的页数
pgalloc_movable 从zone movable分配的页数
allocstall_dma 申请zone dma内存时触发直接内存回收次数
allocstall_dma32 申请zone dma32内存时触发直接内存回收次数
allocstall_normal 申请zone normal内存时触发直接内存回收次数
allocstall_movable 申请zone movable内存时触发直接内存回收次数
pgskip_dma 在isolate_lru_pages函数中由于和需求的zone不符,跳过的zone dma的page数量
pgskip_dma32 在isolate_lru_pages函数中由于和需求的zone不符,跳过的zone dma32的page数量
pgskip_normal 在isolate_lru_pages函数中由于和需求的zone不符,跳过的zone normal的page数量
pgskip_movable 在isolate_lru_pages函数中由于和需求的zone不符,跳过的zone movable的page数量
pgfree 释放的页数
pgactivate 放到active链表上的页数
pgdeactivate 放到inactive链表上的页数
pglazyfree Amount of pages postponed to be freed under memory pressure
pgfault 缺页数量
pgmajfault 需通过读磁盘解决的缺页数量
pglazyfreed 在内存回收从lru成功隔离符合回收条件的pages后,如果是匿名映射的page并且没有PG_swapbacked的falg,增加一次该事件的计数,说明后续是可以直接释放该page,无需swap out的。可以通过madvise(MADV_FREE)设置某匿名vma内映射的pages,如果系统内存紧张决定回收pages,不用交换,后续直接释放。
pgrefill 从active/inactive链表中扫描的页数量
pgsteal_kswapd kswapd从inactive链表中回收的页数
pgsteal_direct 直接内存回收从inactive链表中回收的页数
pgscan_kswapd 从inactive链表中扫描的页数量
pgscan_direct 直接内存回收从inactive链表中扫描的页数量
pgscan_direct_throttle 限制直接内存回收的次数
pgscan_anon shrink_inactive_list函数中扫描的匿名页数量
pgscan_file shrink_inactive_list函数中扫描的文件页数量
pgsteal_anon shrink_inactive_list回收的匿名页数量
pgsteal_file shrink_inactive_list回收的文件页数量
zone_reclaim_failed node_reclaim函数没有回收到所需的页数量的次数
pginodesteal 从启动到现在通过释放inode节点回收的页面数
slabs_scanned do_shrink_slab中尝试释放的object数量
kswapd_inodesteal 从启动到现在由kswapd通过释放inode节点回收的页面数
kswapd_low_wmark_hit_quickly kswapd尝试进行0.1s的睡眠,结果还没经过0.1s就因为内存触发了low水线导致被唤醒的次数
The number of free pages drops below the low watermark before this 100ms sleep finishes. This causes kswapd to keep running and increment the kswapd_low_wmark_hit_quickly stat
kswapd_high_wmark_hit_quickly The number of free pages drops below the high watermark after 100ms. This causes kswapd to keep running and increment the kswapd_high_wmark_hit_quickly stat.
pageoutrun kswapd主循环运行次数
pgrotated 将页面放置到链表尾部(轮转)的页数
drop_pagecache 通过 drop_cache接口释放pagecache的次数
drop_slab 通过 drop_cache接口释放slab内存的次数
oom_kill 杀进程次数
numa_pte_updates numabalance中将页表项修改为PROT_NONE的次数
numa_huge_pte_updates numabanlace中将pmd页表修改为PROT_NONE的次数
numa_hint_faults numabalance在缺页中断中处理页表为PROT_NONE的次数
numa_hint_faults_local numabalance在缺页中断中处理页表为PROT_NONE时,发现原映射页所处nid与当前进程的nid相同的次数
numa_pages_migrated 缺页中断中将misplace的页迁移到local nid的次数
pgmigrate_success migrate_pages函数中成功迁移的页数量
pgmigrate_fail migrate_pages函数中迁移失败的页数量
compact_migrate_scanned compact_zone函数中扫描的迁移页数
compact_free_scanned compact_zone函数中扫描的free页数
compact_isolated 内存规整时隔离的页数
compact_stall compact_stall is incremented every time a process stalls to run memory compaction so that a huge page is free for use
compact_fail compact_fail is incremented if the system tries to compact memory but failed
compact_success compact_success is incremented if the system compacted memory and freed a huge page for use
compact_daemon_wake represents the number of times kcompactd has woken up
compact_daemon_migrate_scanned represent the number of migrate pages kcompactd has scanned
compact_daemon_free_scanned represent the number of free pages kcompactd has scanned
htlb_buddy_alloc_success alloc_buddy_huge_page函数中成功从buddy里申请到大页的次数
htlb_buddy_alloc_fail alloc_buddy_huge_page函数中从buddy里申请大页失败的次数
unevictable_pgs_culled __pagevec_lru_add_fn函数中,若页之前是不可移动的,现在将其变为可移动的的次数
unevictable_pgs_scanned check_move_unevictable_pages函数中扫描页的个数
unevictable_pgs_rescued __pagevec_lru_add_fn函数中,若页之前是可移动的,现在将其变为不可移动的的次数
unevictable_pgs_mlocked 将页设置为mlock且移入unevictable list的次数
unevictable_pgs_munlocked 将页移除mlock且移入合适的lru list的次数
unevictable_pgs_cleared clear_page_mlock中将页移处mlock标记的次数
unevictable_pgs_stranded unable to isolate on unlock
thp_fault_alloc 每当处理缺页异常时,一个大页面被成功分配,thp_fault_alloc就会增加。这适用于第一次出现缺页异常和COW错误。
thp_fault_fallback 如果缺页异常失败的分配一个大页,则thp_fault_fallback被增加,而回退使用小页面。
thp_fault_fallback_charge is incremented if a page fault fails to charge a huge page and
instead falls back to using small pages even though the
allocation was successful.
thp_collapse_alloc 当它发现一个范围的页面坍缩成一个大页,并有成功分配一个新的巨大页来存储数据,thp_collapse_alloc会被khugepaged增加。
thp_collapse_alloc_failed 当它发现一个范围的页面应该被坍缩成一个大页, 但是分配大页失败,thp_collapse_alloc_failed会被khugepaged增加。
thp_file_alloc 在文件大页成功分配时递增。
thp_file_fallback is incremented if a file huge page is attempted to be allocated but fails and instead falls back to using small pages
thp_file_fallback_charge is incremented if a file huge page cannot be charged and instead falls back to using small pages even though the allocation was successful.
thp_file_mapped 每映射到一个文件大页到用户地址空间,thp_file_mapped就增加一次。
thp_split_page THP成功拆分成普通page的次数,swap out或者madvise系统调用修改vma属性,都会触发该事件。
thp_split_page_failed THP拆分成普通page失败的次数。如果页面被人pin住了,就会发生这种情况。
thp_deferred_split_page 延迟拆分THP成普通page的个数。在只断开THP部分子页的映射时,并不会立刻拆分,当内存紧张时才会调用shrinker去拆分THP成普通page,并释放空闲的子页。当大页被放到分裂队列时,thp_deferred_split_page计数被增加。当一个巨大的页面部分被unmap且分裂它将释放一些内存就会发生这种情况。分裂队列上的页将在内存压力下分裂。
thp_split_pmd 调整vma的时候(合并或者分离),若新的vma的起始和结束地址未对齐,并且vma中有THP映射,会记录拆分PMD页表为PTE的次数。每当pmd分裂成pte表时,thp_split_pmd就会递增。例如,当应用程序调用mprotect()或unmap()在大页面的一部分。它不会分割大页面,只是页表条目。
thp_split_pud 拆分PUD页表的次数。
thp_zero_page_alloc 缺页时,若地址所在vma是只读,会默认分配THP zero page,并且内核只保存一份零页,在其他只读vma缺页时,也会共享这个零页,不再重新分配。该事件只记录从伙伴系统成功分配零页的次数。
thp_zero_page_alloc_failed 该事件只记录从伙伴系统未成功分配零页的次数。
thp_swpout thp_swpout指的是pswpout事件中是thp换出事件的计数
thp_swpout_fallback 在swap out之前,会先将page挂到swap cache,如果添加到swap cache失败,会将thp拆分的正常的page,然后再次尝试将page添加到swap cache,同时增加一次计数。
balloon_inflate 填充balloon的次数
balloon_deflate 收缩balloon的次数。
balloon_migrate balloon中的page迁移的次数。
swap_ra swap in时未命中swap cache,然后从swap空间预读的次数。
swap_ra_hit swap in的时候会先从swap cache找page,命中的次数。
nr_unstable 不稳定页数

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值