我想将cpu利用率的计数器(递增数)发送到监控系统。监控系统为我处理增量,所以为了避免观察之间的差距我想保留计数器而不发送delta值本身。我目前正在做以下一般工作,但偶尔会出现随机的CPU峰值,这是没有意义的:
在每个核心的循环中:
used += v.Timestamp_Sys100NS - v.PercentIdleTime
num++ //To count the cores
然后:
cpu := used / 1e5 / num
正如我所说,上面的公式似乎来自监控系统派生的增量,除了疯狂的尖峰:
派生:
原始计数器:
任何人都可以解释这些峰值和/或建议一种避免它们的方法吗?