当我在仪器中使用时间分析器时,它会显示每个核心(或逻辑核心)的cpu使用情况以及" cpu使用情况"。我想知道如何根据每个核心的CPU使用情况计算CPU使用率。我尝试了来自特定时间戳的数据,它既不是每个核心的总和也不是平均值。 以下是该面板的快照。
答案 0 :(得分:0)
CPU使用率既不是总和也不是平均值。与OS CPU使用率(例如顶部)相比,配置文件CPU使用率通常取自处理器中的实际硬件计数器。这也使其依赖于硬件,这意味着它在英特尔处理器上的确切含义与AMD处理器的含义不同。那么为什么这些测量有用呢?因为比较和值与相同时间间隔/同一瞬间的值相比是正确的,并且平均值是您期望的值。
分析时,首先查看间隔内的相关性,然后查看间隔之间的相关性。然后,放大更具体的寄存器,例如缓存未命中或流水线停滞。
您可以查看英特尔优化文档。这在我的经历中非常好。如果我能找到时间,我会在评论部分发布一个参考文献。
PS顺便说一句,“Core 4”和“Core 5(logical)”在上面确实不准确(不是你的错)。这些名称暗示“逻辑”核心在某种程度上不如非逻辑核心。当CPU在一个核心上执行多个硬件线程时,市场营销中的英特尔称之为超线程,Core 4和Core 5之间没有区别,因为它们在物理核心上的行为相同 - 这意味着它们都是“逻辑”的。