You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于基于node-exporter数据的Prometheus空闲内存查询语句的疑问

PromQL内存占比查询逻辑说明

1 -的作用

node_memory_MemAvailable_bytes 表示节点可用内存容量,node_memory_MemTotal_bytes表示节点总内存容量,二者的比值是可用内存占总内存的比例,取值范围在0~1之间。
语句开头的1 -就是对这个可用比例取反,得到已使用内存占总内存的比例,乘以100后就是我们常说的内存使用率百分比。

两条语句的差异

  • 原语句:(1 - 可用比例) *100 >75,判断规则是内存使用率超过75%,符合常规的高负载告警需求,所以仅返回2条符合高负载条件的结果
  • 删除1-后的语句:可用比例 *100 >75,判断规则变成了可用内存占比超过75%,也就是内存使用率低于25%,返回的是4条负载较低的节点结果,和原语句的判断逻辑完全相反。

正确性判定

如果你的需求是监控内存使用率过高的节点,原语句是正确的。社区流传的这类查询默认加1-都是为了计算已用资源占比,符合绝大多数运维监控场景的使用习惯。如果你的需求是筛选可用内存充足的节点,才需要使用修改后的语句。


内容的提问来源于stack exchange,提问作者Ian Gregson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:54:09