gpt4 book ai didi

kubernetes - 节点导出器和 kubectl top 似乎报告了不同的内存利用率值?

转载 作者:行者123 更新时间:2023-12-02 12:25:37 26 4
gpt4 key购买 nike

我正在使用这个查询来计算节点的内存利用率

 (1 - node_memory_MemAvailable_bytes{cluster="$cluster"}/node_memory_MemTotal_bytes{cluster="$cluster"}) * 100

我看到值在 25% 左右

但是当我为同一个节点运行 kubectl top node 时,我看到一个大约 16% 的值

最佳答案

kubectl top node 和 Prometheus 的节点导出器值之间的差异来自收集和计算这些数据的方式。

当您执行 kubectl top node 时,Kubernetes 从根 cgroup 读取值。具体来自 /sys/fs/cgroup/memory/memory.usage_in_bytes/sys/fs/cgroup/memory/memory.stat。总内存使用量计算如下:memory.usage_in_bytes - total_inactive_file

但是,Prometheus 的节点导出器从 /proc/meminfo 读取值,然后根据您的查询进行计算,这似乎是正确的。

此差异也在讨论中(仍在开放)issue .

处理它的一种方法是简单地坚持一种测量和报告方法。

关于kubernetes - 节点导出器和 kubectl top 似乎报告了不同的内存利用率值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63564752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com