Prometheus Node_exporter 之 Memory Detail Vmstat
Memory Detail Vmstat
查看/proc/vmstat 文件的内容
1. Memory Pages In / Out
type: Graph
Unit: short
Label: Pages
Pagesin - 从启动到现在读入的内存页数的速率(5分钟内) /proc/vmstat pgpgin
metrics:
irate(node_vmstat_pgpgin{instance=~"$node:$port",job=~"$job"}[5m])
Pagesout - 从启动到现在换出的内存页数的速率(5分钟内) /proc/vmstat pgpgout
metrics:
irate(node_vmstat_pgpgout{instance=~"$node:$port",job=~"$job"}[5m])
2. Memory Pages Swap In / Out
type: Graph
Unit: short
Label: Pages
Pswpin - 数据从磁盘交换区装入内存的速率(5分钟内) /proc/vmstat pswpin
metrics:
irate(node_vmstat_pswpin{instance=~"$node:$port",job=~"$job"}[5m])
Pswpout - 数据从内存转储到磁盘交换区的速率(5分钟内) /proc/vmstat pswpout
metrics:
irate(node_vmstat_pswpout{instance=~"$node:$port",job=~"$job"}[5m])
3. Memory Page Operations
type: Graph
Unit: short
Label: Pages
Pgdeactivate - 激活的平均页数(5分钟内) /proc/vmstat pgdeactivate
metrics:
irate(node_vmstat_pgdeactivate{instance=~"$node:$port",job=~"$job"}[5m])
Pgfree - 释放的平均页数(5分钟内) /proc/vmstat pgfree
metrics:
irate(node_vmstat_pgfree{instance=~"$node:$port",job=~"$job"}[5m])
Pgactivate - 未激活的平均页数(5分钟内) /proc/vmstat pgactivate
metrics:
irate(node_vmstat_pgactivate{instance=~"$node:$port",job=~"$job"}[5m])
4. Memory Page Faults
type: Graph
Unit: short
Label: Faults
Pgfault - 一级页面和二级页面的平均错误数(5分钟内) /proc/vmstat pgfault
metrics:
irate(node_vmstat_pgfault{instance=~"$node:$port",job=~"$job"}[5m])
Pgmajfault - 一级页面的平均错误数(5分钟内) /proc/vmstat pgmajfault
metrics:
irate(node_vmstat_pgmajfault{instance=~"$node:$port",job=~"$job"}[5m])
Pgminfault - 二级页面的平均错误数(5分钟内)
metrics:
irate(node_vmstat_pgfault{instance=~"$node:$port",job=~"$job"}[5m]) - irate(node_vmstat_pgmajfault{instance=~"$node:$port",job=~"$job"}[5m])
5. Memory Pages Reclaimed
type: Graph
Unit: short
Label: Pages
Kswapd_inodesteal - 由 kswapd 回收用于其它目的的平均页面数(5分钟内) /proc/vmstat kswapd_inodesteal
metrics:
irate(node_vmstat_kswapd_inodesteal{instance=~"$node:$port",job=~"$job"}[5m])
Pgindesteal - 由 inode 释放回收的平均页面数(5分钟内) /proc/vmstat pgindesteal
metrics:
irate(node_vmstat_pginodesteal{instance=~"$node:$port",job=~"$job"}[5m])
6. Memory Calls Reclaimed
type: Graph
Unit: short
Label: Cells
Pageoutrun - 由 kswapd调用来回收的平均页面数(5分钟内) /proc/vmstatpageoutrun
metrics:
irate(node_vmstat_pageoutrun{instance=~"$node:$port",job=~"$job"}[5m])
Allocstall - 请求直接回收的平均页面数(5分钟内) /proc/vmstat allocstall
metrics:
irate(node_vmstat_allocstall{instance=~"$node:$port",job=~"$job"}[5m])
Zone_reclaim_failed - 内存域回收失败的平均页面数(5分钟内) /proc/vmstat zone_reclaim_failed
metrics:
irate(node_vmstat_zone_reclaim_failed{instance=~"$node:$port",job=~"$job"}[5m])
7. Memory Page Rotate /proc/vmstat pgrotated
type: Graph
Unit: short
Label: Pages
Pgrotated - 轮换的平均页面数(5分钟内)
metrics:
irate(node_vmstat_pgrotated{instance=~"$node:$port",job=~"$job"}[5m])
8. Memory Page Drop
type: Graph
Unit: short
Label: Cells
Drop_pagecache - 调用释放缓存的平均页面数(5分钟内) /proc/vmstat drop_pagecache
metrics:
node_vmstat_drop_pagecache{instance=~"$node:$port",job=~"$job"}
Drop_slab - 调用释放 slab 缓存的平均页面数(5分钟内) /proc/vmstat drop_slab
metrics:
node_vmstat_drop_slab{instance=~"$node:$port",job=~"$job"}
9. Memory Scan Slab /proc/vmstat slabs_scanned
type: Graph
Unit: short
Slabs_scanned - 被扫描的 Slab 页面的平均页面数(5分钟内)
metrics:
irate(node_vmstat_slabs_scanned{instance=~"$node:$port",job=~"$job"}[5m])
10. Memory Unevictable Pages
type: Graph
Unit: short
Label: Pages
Unevictable_pgs_cleared - Unevictable pages cleared
metrics:
irate(node_vmstat_unevictable_pgs_cleared{instance=~"$node:$port",job=~"$job"}[5m])
Unevictable_pgs_culled - Unevictable pages culled
metrics:
irate(node_vmstat_unevictable_pgs_culled{instance=~"$node:$port",job=~"$job"}[5m])
Unevictable_pgs_mlocked - Unevictable pages mlocked
metrics:
irate(node_vmstat_unevictable_pgs_mlocked{instance=~"$node:$port",job=~"$job"}[5m])
Unevictable_pgs_munlocked - Unevictable pages munlocked
metrics:
irate(node_vmstat_unevictable_pgs_munlocked{instance=~"$node:$port",job=~"$job"}[5m])
Unevictable_pgs_rescued- Unevictable pages rescued
metrics:
irate(node_vmstat_unevictable_pgs_rescued{instance=~"$node:$port",job=~"$job"}[5m])
Unevictable_pgs_scanned - Unevictable pages scanned
metrics:
irate(node_vmstat_unevictable_pgs_scanned{instance=~"$node:$port",job=~"$job"}[5m])
unevictable_pgs_stranded - Unevictable pages stranded
metrics:
irate(node_vmstat_unevictable_pgs_stranded{instance=~"$node:$port",job=~"$job"}[5m])
11. Memory Page Allocation
type: Graph
Unit: short
Label: Pages
Pgalloc_dma - DMA 存储区分配的平均页数(5分钟内) /proc/vmstat pgalloc_dma
metrics:
irate(node_vmstat_pgalloc_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgalloc_dma32 - DMA32 存储区分配的平均页数(5分钟内) /proc/vmstat pgalloc_dma32
metrics:
irate(node_vmstat_pgalloc_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgalloc_movable - movable 存储区分配的平均页数(5分钟内) /proc/vmstat pgalloc_movable
metrics:
irate(node_vmstat_pgalloc_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgalloc_normal - 普通存储区分配的平均页数(5分钟内) /proc/vmstat pgalloc_normal
metrics:
irate(node_vmstat_pgalloc_normal{instance=~"$node:$port",job=~"$job"}[5m])
12. Memory Page Refill
type: Graph
Unit: short
Label: Pages
Pgrefill_dma - DMA 再填充的平均页数(5分钟内) /proc/vmstat pgrefill_dma
metrics:
irate(node_vmstat_pgrefill_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgrefill_dma32 - DMA32 存储区再填充的平均页数(5分钟内) /proc/vmstat pgrefill_dma32
metrics:
irate(node_vmstat_pgrefill_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgrefill_movable - movable 存储区再填充的平均页数(5分钟内) /proc/vmstat pgrefill_movable
metrics:
irate(node_vmstat_pgrefill_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgrefill_normal - 普通存储区再填充的平均页数(5分钟内) /proc/vmstat pgrefill_normal
metrics:
irate(node_vmstat_pgrefill_normal{instance=~"$node:$port",job=~"$job"}[5m])
13. Memory Page Steal Direct
type: Graph
Unit: short
Label: Pages
Pgsteal_direct_dma - DMA 存储区被直接回收用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_direct_dma
metrics:
irate(node_vmstat_pgsteal_direct_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_direct_dma32 - DMA32 存储区被直接回收用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_direct_dma32
metrics:
irate(node_vmstat_pgsteal_direct_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_direct_movable - movable 存储区被直接回收用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_direct_movable
metrics:
irate(node_vmstat_pgsteal_direct_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_direct_normal - 普通存储区被直接回收用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_direct_normal
metrics:
irate(node_vmstat_pgsteal_direct_normal{instance=~"$node:$port",job=~"$job"}[5m])
14. Memory Page Steal Kswapd
type: Graph
Unit: short
Label: Pages
Pgsteal_kswapd_dma - kswapd 后台进程回收 DMA 存储区用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_kswapd_dma
metrics:
irate(node_vmstat_pgsteal_kswapd_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_kswapd_dma32 - kswapd 后台进程回收 DMA32 存储区用于其它目的的平均页面数(5分钟内) /proc/vmstat pgsteal_kswapd_dma32
metrics:
irate(node_vmstat_pgsteal_kswapd_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_kswapd_movable - kswapd 后台进程回收 movable 存储区用于其它目的的平均页面数(5分钟内 /proc/vmstat pgsteal_kswapd_movable
metrics:
irate(node_vmstat_pgsteal_kswapd_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgsteal_kswapd_normal - swapd后台进程回收普通存储区用于其它目的的平均页面数(5分钟内 /proc/vmstat pgsteal_kswapd_normal
metrics:
irate(node_vmstat_pgsteal_kswapd_normal{instance=~"$node:$port",job=~"$job"}[5m])
15. Memory Scan Direct
type: Graph
Unit: short
Label: Pages
Pgscan_direct_dma - DMA 存储区被直接回收的平均页面数(5分钟内) /proc/vmstat pgscan_direct_dma
metrics:
irate(node_vmstat_pgscan_direct_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_direct_dma32 - DMA32 存储区被直接回收的平均页面数(5分钟内) /proc/vmstat pgscan_direct_dma32
metrics:
irate(node_vmstat_pgscan_direct_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_direct_movable - movable 存储区被直接回收的平均页面数(5分钟内) /proc/vmstat pgscan_direct_movable
metrics:
irate(node_vmstat_pgscan_direct_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_direct_normal - 普通存储区被直接回收的平均页面数(5分钟内) /proc/vmstat pgscan_direct_normal
metrics:
irate(node_vmstat_pgscan_direct_normal{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_direct_throttle - throttle 存储区被直接回收的平均页面数(5分钟内) /proc/vmstat pgscan_direct_throttle
metrics:
irate(node_vmstat_pgscan_direct_throttle{instance=~"$node:$port",job=~"$job"}[5m])
16. Memory Scan Kswapd
type: Graph
Unit: short
Label: Pages
Pgscan_kswapd_dma - kswapd 后台进程扫描的 DMA 存储区平均页面数(5分钟内) /proc/vmstat pgscan_kswapd_dma
metrics:
irate(node_vmstat_pgscan_kswapd_dma{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_kswapd_dma32 - kswapd 后台进程扫描的 DMA32 存储区平均页面数(5分钟内) /proc/vmstat pgscan_kswapd_dma32
metrics:
irate(node_vmstat_pgscan_kswapd_dma32{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_kswapd_movable - kswapd 后台进程扫描的 movable 存储区平均页面数(5分钟内) /proc/vmstat pgscan_kswapd_movable
metrics:
irate(node_vmstat_pgscan_kswapd_movable{instance=~"$node:$port",job=~"$job"}[5m])
Pgscan_kswapd_normal - kswapd 后台进程扫描的普通存储区平均页面数(5分钟内) /proc/vmstat pgscan_kswapd_normal
metrics:
irate(node_vmstat_pgscan_kswapd_normal{instance=~"$node:$port",job=~"$job"}[5m])
17. Memory Page Compact
type: Graph
Unit: short
Label: Pages
Compact_free_scanned - 扫描由压缩守护程序释放的页面 /proc/vmstat compact_free_scanned
metrics:
irate(node_vmstat_compact_free_scanned{instance=~"$node:$port",job=~"$job"}[5m])
Compact_isolated - 用于内存压缩隔离的页面 /proc/vmstat compact_isolated
metrics:
irate(node_vmstat_compact_isolated{instance=~"$node:$port",job=~"$job"}[5m])
Compact_migrate_scanned - 通过内存压缩守护程序扫描以进行迁移的页面 /proc/vmstat compact_migrate_scanned
metrics:
irate(node_vmstat_compact_migrate_scanned{instance=~"$node:$port",job=~"$job"}[5m])
18. Memory Compactions 内存紧缩
type: Graph
Unit: short
Label: Compactions
Compact_fail - 高阶分配的内存碎片整理失败的页面数(5分钟内) /proc/vmstat compact_fail
metrics:
irate(node_vmstat_compact_fail{instance=~"$node:$port",job=~"$job"}[5m])
Compact_stall - 开始执行内存碎片失败的页面数(5分钟内) /proc/vmstat compact_stall
metrics:
irate(node_vmstat_compact_stall{instance=~"$node:$port",job=~"$job"}[5m])
Compact_sucess - 高阶分配的内存碎片整理成功的页面数(5分钟内)
metrics:
irate(node_vmstat_compact_success{instance=~"$node:$port",job=~"$job"}[5m])
19. Memory Kswapd Watermark
type: Graph
Unit: short
Label: Counter
Kswapd_high_wmark_hit_quickly - 剩余内存达到 high 的水位线的时间 /proc/vmstat kswapd_high_wmark_hit_quickly
metrics:
node_vmstat_kswapd_high_wmark_hit_quickly{instance=~"$node:$port",job=~"$job"}
Kswapd_low_wmark_hit_quickly - - 剩余内存达到 low 的水位线的时间 /proc/vmstat kswapd_low_wmark_hit_quickly
metrics:
node_vmstat_kswapd_low_wmark_hit_quickly{instance=~"$node:$port",job=~"$job"}
20. Memory Buddy Alloc
type: Graph
Unit: short
Label: Allocations
Htlb_buddy_alloc_fail - buddy 给 hugetlb 分配失败的次数 /proc/vmstat htlb_buddy_alloc_fail
metrics:
node_vmstat_htlb_buddy_alloc_fail{instance=~"$node:$port",job=~"$job"}
Htlb_buddy_alloc_success - buddy 给 hugetlb 分配成功的次数 /proc/vmstat htlb_buddy_alloc_success
metrics:
node_vmstat_htlb_buddy_alloc_success{instance=~"$node:$port",job=~"$job"}
21. Memory Numa Allocations
type: Graph
Unit: short
Label: Allocations
Numa_foreign - 计划使用其他节点内存但是却使用本地内存次数 /proc/vmstat numa_foreign
metrics:
irate(node_vmstat_numa_foreign{instance=~"$node:$port",job=~"$job"}[5m])
Numa_hit - 使用本节点内存次数 /proc/vmstat numa_hit
metrics:
irate(node_vmstat_numa_hit{instance=~"$node:$port",job=~"$job"}[5m])
Numa_interleave - 交叉分配使用的内存中使用本节点的内存次数 /proc/vmstat numa_interleave
metrics:
irate(node_vmstat_numa_interleave{instance=~"$node:$port",job=~"$job"}[5m])
Numa_local - 在本节点运行的程序使用本节点内存次数 /proc/vmstat numa_local
metrics:
irate(node_vmstat_numa_local{instance=~"$node:$port",job=~"$job"}[5m])
Numa_miss - 计划使用本节点内存而被调度到其他节点次数 /proc/vmstat numa_miss
metrics:
irate(node_vmstat_numa_miss{instance=~"$node:$port",job=~"$job"}[5m])
Numa_other - 在其他节点运行的程序使用本节点内存次数 /proc/vmstat numa_other
metrics:
irate(node_vmstat_numa_other{instance=~"$node:$port",job=~"$job"}[5m])
22. Memory Numa Page Migrations
type: Graph
Unit: short
Label: Pages
Numa_pages_migrated - NUMA page 数 /proc/vmstat numa_pages_migrated
metrics:
irate(node_vmstat_numa_pages_migrated{instance=~"$node:$port",job=~"$job"}[5m])
Pgmigrate_fail - 迁移失败的页面数 /proc/vmstat pgmigrate_fail
metrics:
irate(node_vmstat_pgmigrate_fail{instance=~"$node:$port",job=~"$job"}[5m])
Pgmigrate_success - 成功迁移的页面数 /proc/vmstat pgmigrate_success
metrics:
irate(node_vmstat_pgmigrate_success{instance=~"$node:$port",job=~"$job"}[5m])
23. Memory Numa Hints
type: Graph
Unit: short
Label: Hints
Numa_hint_faults - NUMA hint faults trapped
metrics:
irate(node_vmstat_numa_hint_faults{instance=~"$node:$port",job=~"$job"}[5m])
Numa_hint_faults_local - Hinting faults to local nodes
metrics:
irate(node_vmstat_numa_hint_faults_local{instance=~"$node:$port",job=~"$job"}[5m])
24. Memory Numa Table Updates
type: Graph
Unit: short
Label: Updates
Numa_pte_updates - NUMA page table entry updates
metrics:
irate(node_vmstat_numa_pte_updates{instance=~"$node:$port",job=~"$job"}[5m])
Numa_huge_pte_updates - NUMA huge page table entry updates
metrics:
irate(node_vmstat_numa_huge_pte_updates{instance=~"$node:$port",job=~"$job"}[5m])
25. Memory THP Splits
type: Graph
Unit: short
Label: Splits
Thp_split - 大型页面分割成多个常规页面 /proc/vmstat thp_split
metrics:
irate(node_vmstat_thp_split{instance=~"$node:$port",job=~"$job"}[5m])
26. Memory Workingset
type: Graph
Unit: short
Label: Counter
Workingset_activate - Page activations to form the working set
metrics:
irate(node_vmstat_workingset_activate{instance=~"$node:$port",job=~"$job"}[5m])
Workingset_nodereclaim - NUMA node working set page reclaims
metrics:
irate(node_vmstat_workingset_nodereclaim{instance=~"$node:$port",job=~"$job"}[5m])
Workingset_refault - Refaults of previously evicted pages
metrics:
irate(node_vmstat_workingset_refault{instance=~"$node:$port",job=~"$job"}[5m])
27. Memory THP Allocations
type: Graph
Unit: short
Label: Allocations
Thp_collapse_alloc - Transparent huge page collapse allocations
metrics:
irate(node_vmstat_thp_collapse_alloc{instance=~"$node:$port",job=~"$job"}[5m])
Thp_collapse_alloc_failed - Transparent huge page collapse allocation failures
metrics:
irate(node_vmstat_thp_collapse_alloc_failed{instance=~"$node:$port",job=~"$job"}[5m])
Thp_zero_page_alloc - Transparent huge page zeroed page allocations
metrics:
irate(node_vmstat_thp_zero_page_alloc{instance=~"$node:$port",job=~"$job"}[5m])
Thp_zero_page_alloc_failed - Transparent huge page zeroed page allocation failures
metrics:
irate(node_vmstat_thp_zero_page_alloc_failed{instance=~"$node:$port",job=~"$job"}[5m])
Thp_fault_alloc - Transparent huge page fault allocations
metrics:
irate(node_vmstat_thp_fault_alloc{instance=~"$node:$port",job=~"$job"}[5m])
Thp_fault_fallback - Transparent huge page fault fallbacks
metrics:
irate(node_vmstat_thp_fault_fallback{instance=~"$node:$port",job=~"$job"}[5m])