从WMI原始计数器收集Windows CPU使用率

我想发送一个计数器(增量编号)的CPU利用率给监控系统。 监控系统为我处理增量,所以为了避免观察之间的差距,我想保留计数器,而不是发送增量值本身。 我目前正在做以下一般工作,但有偶尔的随机高峰的CPU是没有意义的:

在每个核心的循环中:

used += v.Timestamp_Sys100NS - v.PercentIdleTime num++ //To count the cores 

接着:

 cpu := used / 1e5 / num 

正如我所说,上述公式似乎是从监测系统派生的三angular洲,除了疯狂的峰值是准确的:

衍生: 在这里输入图像说明

原始计数器: 在这里输入图像说明

任何人都可以解释这些尖峰和/或build议一种方法来避免它们?