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

Mat*_*rth 7 prometheus promql prometheus-node-exporter

我对普罗米修斯很陌生,所以这可能是一个愚蠢的问题 - 但就这样吧。

当我请求 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
Run Code Online (Sandbox Code Playgroud)

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

$ free -b
              total        used        free      shared  buff/cache   available
Mem:    16509550592  2264915968  6787731456    59121664  7456903168 14140530688
Swap:             0           0           0
Run Code Online (Sandbox Code Playgroud)

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

小智 28

命令的等效查询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
  • 增益/缓存:node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_SReclaimable_bytes
  • 可用的:node_memory_MemAvailable_bytes

  • 你拯救了我的日子!这应该是正确的答案。 (2认同)

Mar*_*ira 9

我认为您将“活动”内存与“已用”内存混淆了,不是吗?它们是不同的东西。

请在此处查看有关此内容的更多信息。

要使用 Prometheus Node Exporter 计算“已用”内存:

node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
Run Code Online (Sandbox Code Playgroud)