Prometheus 报告 node_memory_Active_bytes 和 free -b 的不同值

Prometheus reports a different value for node_memory_Active_bytes and free -b

我对 Prometheus 还很陌生,所以这可能是一个愚蠢的问题 - 但这里是。

当我请求 node_memory_Active_bytes 和 node_memory_MemTotal_bytes 时,我得到:

node_memory_Active_bytes{instance="10.1.4.9:9100",job="node-exporter"}  3257815040

(..and..)

node_memory_MemTotal_bytes{instance="10.1.4.9:9100",job="node-exporter"}    16509550592

然而,在盒子上,如果我 运行 free -b,我得到以下信息:

$ free -b
              total        used        free      shared  buff/cache   available
Mem:    16509550592  2264915968  6787731456    59121664  7456903168 14140530688
Swap:             0           0           0

我正在努力将普罗米修斯的内存视图与实际机器的视图进行映射。我确定我一定做错了什么,但我不知道是什么。总的匹配,但免费

我认为您混淆了 "active" 记忆和 "used" 记忆,是吗?它们是不同的东西。

查看有关此内容的更多信息here

要使用 Prometheus Node Exporter 计算获得 "used" 内存:

node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

free -b 命令的等效查询:

  • 总计:node_memory_MemTotal_bytes
  • 使用过:node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes - node_memory_SReclaimable_bytes
  • 分享:node_memory_Shmem_bytes
  • 免费:node_memory_MemFree_bytes
  • buff/cache: node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_SReclaimable_bytes
  • 可用:node_memory_MemAvailable_bytes