Prometheus Node_exporter 之 Memory Detail Vmstat Counters
Memory Detail Vmstat Counters
1. Memory Page Active
type: Graph
Unit: short
Label: Pages
Active_anon - pages最近被使用过的匿名虚拟内存页 /proc/vmstat nr_active_anon
metrics:
node_vmstat_nr_active_anon{instance=~"$node:$port",job=~"$job"}
Active_file - 最近被使用过的文件虚拟内存页 /proc/vmstat nr_active_file
metrics:
node_vmstat_nr_active_file{instance=~"$node:$port",job=~"$job"}
2. Memory Page Reclaimed / Unreclaimed
type: Graph
Unit: short
Label: Pages
Reclaimable - 可回收的 slab 虚拟内存页 /proc/vmstat nr_slab_reclaimable
metrics:
node_vmstat_nr_slab_reclaimable{instance=~"$node:$port",job=~"$job"}
Unreclaimable - 不可回收的 slab 虚拟内存页 /proc/vmstat nr_slab_unreclaimable
metrics:
node_vmstat_nr_slab_unreclaimable{instance=~"$node:$port",job=~"$job"}
3. Memory Page Inactive
type: Graph
Unit: short
Label: Pages
Inactive_anon - 每个 NUMA node 的每个域中的长时间未被访问过的匿名内存页 /proc/vmstat nr_inactive_anon
metrics:
node_vmstat_nr_inactive_anon{instance=~"$node:$port",job=~"$job"}
Inactive_file - 每个 NUMA node 的每个域中的长时间未被访问过的与文件对应的内存页 /proc/vmstat nr_inactive_file
metrics:
node_vmstat_nr_inactive_file{instance=~"$node:$port",job=~"$job"}
4. Memory Page Dirty / Bounce
type: Graph
Unit: short
Label: Pages
Dirty - 脏页数 /proc/vmstat nr_dirty
metrics:
node_vmstat_nr_dirty{instance=~"$node:$port",job=~"$job"}
Bounce - Bounce buffer 页面数 /proc/vmstat nr_bounce
metrics:
node_vmstat_nr_bounce{instance=~"$node:$port",job=~"$job"}
5. Memory Page Free / Written
type: Graph
Unit: short
Label: Pages
Free_pages - 空闲页数 /proc/vmstat nr_free_pages
metrics:
node_vmstat_nr_free_pages{instance=~"$node:$port",job=~"$job"}
Written - 每个 NUMA node 的每个域中写出的页面 /proc/vmstat nr_written
metrics:
node_vmstat_nr_written{instance=~"$node:$port",job=~"$job"}
6.Memory Page Shmem / Mapped
type: Graph
Unit: short
Label: Pages
Shmem - 共享内存页数 /proc/vmstat nr_shmem
metrics:
node_vmstat_nr_shmem{instance=~"$node:$port",job=~"$job"}
Mapped - 每个 NUMA node 的每个域 mapped 缓存页的页数 /proc/vmstat nr_mapped
metrics:
node_vmstat_nr_mapped{instance=~"$node:$port",job=~"$job"}
7.Memory Page Unevictable / MLock
type: Graph
Unit: short
Label: Pages
Unevictable - 不可回收的页数 /proc/vmstat nr_unevictable
metrics:
node_vmstat_nr_unevictable{instance=~"$node:$port",job=~"$job"}
Mlock - 被 mlock()系统调用锁定的页数 /proc/vmstat nr_mlock
metrics:
node_vmstat_nr_mlock{instance=~"$node:$port",job=~"$job"}
8.Memory Page Writeback
type: Graph
Unit: short
Label: Pages
Writeback - 回写页数 /proc/vmstat nr_writeback
metrics:
node_vmstat_nr_writeback{instance=~"$node:$port",job=~"$job"}
Writeback_temp - 临时回写页数 /proc/vmstat nr_writeback_temp
metrics:
node_vmstat_nr_writeback_temp{instance=~"$node:$port",job=~"$job"}
9.Memory Page Kernel_stack
type: Graph
Unit: short
Label: Pages
Kernel_stack - 内核栈的页数 /proc/vmstat nr_kernel_stack
metrics:
node_vmstat_nr_kernel_stack{instance=~"$node:$port",job=~"$job"}
10.Memory Page Dirty Threshold
type: Graph
Unit: short
Label: Pages
Dirty_background_threshold - 脏页后台回写阈值 /proc/vmstat nr_dirty_background_threshold
metrics:
node_vmstat_nr_dirty_background_threshold{instance=~"$node:$port",job=~"$job"}
Dirty_threshold - 脏页限制阈值 /proc/vmstat nr_dirty_threshold
metrics:
node_vmstat_nr_dirty_threshold{instance=~"$node:$port",job=~"$job"}
11.Memory Page File_pages
type: Graph
Unit: short
Label: Pages
File_pages - 每个 NUMA node 的每个域文件缓存页的页数 /proc/vmstat nr_file_pages
metrics:
node_vmstat_nr_file_pages{instance=~"$node:$port",job=~"$job"}
12.Memory Page Page_table_pages
type: Graph
Unit: short
Label: Pages
Page_table_pages - 每个 NUMA node 的每个域页面表的页数 /proc/vmstat nr_page_table_pages
metrics:
node_vmstat_nr_page_table_pages{instance=~"$node:$port",job=~"$job"}
13.Memory Page Unstable / Dirtied
type: Graph
Unit: short
Label: Pages
Unstable - 每个 NUMA node 的每个域中处于不稳定页面的页数 /proc/vmstat nr_unstable
metrics:
node_vmstat_nr_unstable{instance=~"$node:$port",job=~"$job"}
Dirtied - 每个 NUMA node 的每个域中进入脏页面的页数 /proc/vmstat nr_dirtied
metrics:
node_vmstat_nr_dirtied{instance=~"$node:$port",job=~"$job"}
14.Memory Page Isolated
type: Graph
Unit: short
Label: Pages
Isolated_anon - 每个 NUMA node 的每个域中隔离的匿名内存页面的页数 /proc/vmstat nr_isolated_anon
metrics:
node_vmstat_nr_isolated_anon{instance=~"$node:$port",job=~"$job"}
Isolated_file - 每个 NUMA node 的每个域中隔离的文件存储页面的页数 /proc/vmstat nr_isolated_file
metrics:
node_vmstat_nr_isolated_file{instance=~"$node:$port",job=~"$job"}
15.Memory Page Alloc_batch
type: Graph
Unit: short
Label: Pages
Alloc_batch - 每个 NUMA node 的每个域中由于内存不足分配给其他域的页面 /proc/vmstat nr_alloc_batch
metrics:
node_vmstat_nr_alloc_batch{instance=~"$node:$port",job=~"$job"}
16.Memory Page Misc
type: Graph
Unit: short
Label: Pages
Free_cma - 每个 NUMA node 的每个域中空闲的连续内存分配器页面 /proc/vmstat nr_free_cma
metrics:
node_vmstat_nr_free_cma{instance=~"$node:$port",job=~"$job"}
Vmscan_write - LRU 内存回收写入的页面 /proc/vmstat nr_vmscan_write
metrics:
node_vmstat_nr_vmscan_write{instance=~"$node:$port",job=~"$job"}
Immediate_reclaim - 每个 NUMA node 的每个域中当回写结束时优先回收的页面 /proc/vmstat nr_vmscan_immediate_reclaim
metrics:
node_vmstat_nr_vmscan_immediate_reclaim{instance=~"$node:$port",job=~"$job"}
17.Memory Page Anon
type: Graph
Unit: short
Label: Pages
Anon_pages - 每个 NUMA node 的每个域中匿名 mapped 缓存页 /proc/vmstat nr_anon_pages
metrics:
node_vmstat_nr_anon_pages{instance=~"$node:$port",job=~"$job"}
Anon_transparent_hugepages - 每个 NUMA node 的每个域中 THP(Transparent Huge Pages) /proc/vmstat nr_anon_transparent_hugepages
metrics:
node_vmstat_nr_anon_transparent_hugepages{instance=~"$node:$port",job=~"$job"}