我知道 CPU 利用率是由非空闲时间占 CPU 总时间的百分比给出的。在普罗米修斯,rate或irate函数计算向量数组的变化率。
人们通常通过以下 PromQL 表达式来计算 CPU 利用率:
(100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[1m])) * 100))
Run Code Online (Sandbox Code Playgroud)
我不明白计算非空闲时间的每秒变化如何等同于计算 CPU 使用率。有人可以从数学上解释为什么这是有道理的吗?
我测试了这些查询。第一个查询的值是第二个查询的一半:
sum(container_memory_working_set_bytes{image!="",name=~"^k8s_.*",pod=~"$pod"}) by (pod)
和
sum (container_memory_working_set_bytes{pod=~"$pod"}) by (pod)
为什么写作的image! = "", name = ~ "^ k8s_. *"价值会减半?