【问题标题】:Prometheus reports a different value for node_memory_Active_bytes and free -bPrometheus 报告 node_memory_Active_bytes 和 free -b 的值不同
【发布时间】:2020-05-01 11:32:01
【问题描述】:

我对 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

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

【问题讨论】:

    标签: prometheus promql prometheus-node-exporter


    【解决方案1】:

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

    查看有关此here 的更多信息。

    要使用 Prometheus 节点导出器计算“已用”内存:

    node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
    

    【讨论】:

    • 啊!有道理,不过还是有点过头了。 node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes = 2394025984 used = 2282270720 有什么理由吗?这在相当长的一段时间内始终如一地发生。
    • 嗯...我不知道 :-(
    【解决方案2】:

    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/缓存:node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_SReclaimable_bytes
    • 可用:node_memory_MemAvailable_bytes

    【讨论】:

    • 你拯救了我的一天!这应该是正确的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    相关资源
    最近更新 更多