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

开启超线程时如何在Grafana中显示不超过100%的CPU聚合使用率

问题解决方法

问题根源

你之前的查询使用sum直接加总所有逻辑CPU的使用率,开启超线程后逻辑核心数大于1,总和自然会超过100%。Grafana的坐标轴限值仅修改显示范围,不会修改查询返回的原始数值,因此曲线峰值仍会超出显示边界。
你之前尝试的avg版本逻辑错误:该avg是对所有CPU模式的计算结果取平均,而非对CPU核心数取平均,因此无法得到归一化的使用率结果。

正确查询语句

基础版

自动根据逻辑CPU数量做归一化,最大值自然为100%:

sum(irate(node_cpu_seconds_total{instance="localhost",job="node", mode!="idle"}[5m])) / count(count by (cpu) (node_cpu_seconds_total{instance="localhost",job="node"})) * 100

强制限幅版

额外使用clamp函数强制将数值限制在0-100区间,避免极端统计误差导致的数值异常:

clamp(
  sum(irate(node_cpu_seconds_total{instance="localhost",job="node", mode!="idle"}[5m])) / count(count by (cpu) (node_cpu_seconds_total{instance="localhost",job="node"})) * 100,
  0,
  100
)

语句逻辑说明

  • 分母部分count(count by (cpu) (node_cpu_seconds_total{instance="localhost",job="node"}))用于统计当前实例的逻辑CPU总数量
  • 所有核心的非空闲时间增长率总和除以核心数,得到单核心平均使用率,归一化到0-1区间后乘以100得到百分比,最大值不会超过100%
  • clamp函数为额外保险层,即使出现数据采集误差也不会返回超出0-100范围的数值

内容的提问来源于stack exchange,提问作者majid asad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:54:04