CPU使用率和CPU利用率之间的差异?

时间:2015-06-14 15:34:21

标签: cpu-usage terminology

在想到CPU使用率和CPU利用率时,我想知道术语是否存在科学差异。我觉得这两个词都被用作同义词。它们都描述了CPU时间和CPU容量之间的关系。 Wikipedia将其称为CPU使用率。 Microsoft使用CPU利用率。但我还发现了article,其中Microsoft使用术语“CPU使用率”。现在VMware定义在逻辑CPU的上下文中在物理CPU和CPU使用的上下文中使用CPU利用率。此外,stackoverflow中没有cpu_utilization的标记。

有谁知道科学的差异化?

3 个答案:

答案 0 :(得分:2)

<强>用法 间隔期间的CPU使用率百分比。 o VM - 活动使用的虚拟CPU的数量,占可用CPU总量的百分比。这是主机的CPU使用情况视图,而不是客户机操作系统视图。它是虚拟机中所有可用虚拟CPU的平均CPU利用率。例如,如果具有一个虚拟CPU的虚拟机在具有四个物理CPU且CPU使用率为100%的主机上运行,​​则虚拟机将完全使用一个物理CPU。

虚拟CPU使用率= usagemhz /(虚拟CPU数量x核心频率) o主机 - 主机的主动CPU,占总可用CPU的百分比。活动CPU大约等于使用的CPU与可用CPU的比率。

可用CPU =物理CPU数量x时钟速率

100%表示主机上的所有CPU。例如,如果四CPU主机正在运行具有两个CPU的虚拟机,并且使用率为50%,则主机将完全使用两个CPU。 o群集 - 群集中所有虚拟机的活动使用CPU总和,占可用CPU总量的百分比。

CPU使用率= CPU usagemhz / effectivecpu

在间隔期间以兆赫为单位测量的CPU使用率。 o VM - 主动使用的虚拟CPU的数量。这是主机的CPU使用情况视图,而不是客户机操作系统视图。 o主机 - 主机上所有已打开电源的虚拟机的主动使用CPU的总和。最大可能值是处理器的频率乘以处理器的数量。例如,如果您的主机有四个2GHz CPU运行使用4000MHz的虚拟机,则主机完全使用两个CPU。 4000 /(4×2000)= 0.50

<强>二手: 时间占虚拟机。如果系统服务代表此虚拟机运行,则应为该虚拟机收取该服务所花费的时间(由cpu.system表示)。如果没有,则不应对此虚拟机收取花费的时间(由cpu.overlap表示)。

参考:http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fcpu_counters.html

答案 1 :(得分:1)

Very doubtful. You will probably find exact definitions in some academic text books but I bet they'll be inconsistent between text books. I've seen definitions in manpages that are inconsistent with the actual implementation within the code. This is a case where everyone assumes the definitions are so obvious they never check to see if theirs is consistent with others.

My suggestion is to fully definite your use and go with that. Others can then have a reference (your formula/algorithm) and can translate between yours and theirs.

By the way, figuring out utilization, usage, etc. is very complicated and fraught with traps. OSs move tasks around, logical CPUs move between cores, turbo modes temporarily bump clock rates, work is offloaded to internal coprocessors, processors go to sleep or drop in frequency, hyperthreading where multiple logical CPUs contend for shared resources, etc. What's worse is that it is a moving target. Exact and well-defined metrics today will start to get out of date quickly as hardware and software architectures continue to evolve per Moore's law and any SW equivalent.

答案 2 :(得分:1)

在单一的背景下(纸张,书籍,网络文章等),可能会有所不同,但据我所知,这些术语并没有一致普遍接受的标准定义。

然而,在一篇作者的着作中,它们可能被用来描述不同的东西。例如(不是详尽的清单):

  • 在特定采样周期内使用多少单CPU计算容量
  • 特定可采样周期内特定可调度实体(线程,进程,轻量级进程,内核,中断例程等)使用多少单CPU计算容量
  • 上述任一项,但考虑到系统中的所有CPU
  • 上述任何一项,但实际CPU和虚拟CPU之间的视角不同(无论是超线程还是CPU实际上都是由VMware,KVM / QEMU,Xen,Virtualbox等模拟的)
  • 比较衡量一种算法中使用多少CPU容量而不是另一种算法
  • 可能还有其他几种可能性......