Inc*_*nus 8 terminology cpu-usage
我想知道在谈到 CPU 使用率和 CPU 利用率时,术语是否存在科学差异。我觉得这两个词都被用作同义词。它们都描述了 CPU 时间和 CPU 容量之间的关系。维基百科称之为 CPU 使用率。Microsoft使用 CPU 利用率。但我也发现了一篇文章,其中 Microsoft 使用术语 CPU 使用率。现在VMware定义在物理CPU 上下文中使用CPU Utilization,在逻辑CPU 上下文中使用CPU Usage。此外,stackoverflow 中没有 cpu_utilization 的标签。
有人知道科学区分吗?
小智 5
使用 时间间隔内的 CPU 使用率百分比。o VM - 活跃使用的虚拟 CPU 的数量,占可用 CPU 总量的百分比。这是主机对 CPU 使用率的看法,而不是来宾操作系统的看法。它是虚拟机中所有可用虚拟 CPU 的平均 CPU 利用率。例如,如果一台虚拟CPU 的虚拟机运行在一台有四个物理CPU 的主机上,并且CPU 使用率为100%,则该虚拟机完全使用了一个物理CPU。
虚拟 CPU 使用率 = 使用率 mhz /(虚拟 CPU 数 x 核心频率) o 主机 - 主机的活跃使用的 CPU,占可用 CPU 总数的百分比。活动 CPU 大约等于已用 CPU 与可用 CPU 的比率。
可用 CPU = # 物理 CPU x 时钟频率
100% 代表主机上的所有 CPU。例如,如果一个四 CPU 的主机正在运行一个具有两个 CPU 的虚拟机,并且使用率为 50%,则该主机完全使用了两个 CPU。o 集群 - 集群中所有虚拟机的活跃 CPU 总和,占可用 CPU 总量的百分比。
CPU 使用率 = CPU 使用率 mhz / 有效 CPU
时间间隔内的 CPU 使用率(以兆赫为单位)。o VM - 活跃使用的虚拟 CPU 的数量。这是主机对 CPU 使用率的看法,而不是来宾操作系统的看法。o 主机 - 主机上所有已启动虚拟机的活跃使用 CPU 的总和。最大可能值是处理器频率乘以处理器数量。例如,如果您的主机有四个 2GHz CPU 运行一个使用 4000MHz 的虚拟机,则该主机完全使用两个 CPU。4000 / (4 x 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
很可疑。您可能会在一些学术教科书中找到确切的定义,但我敢打赌教科书之间的定义会不一致。我在联机帮助页中看到的定义与代码中的实际实现不一致。在这种情况下,每个人都认为定义是如此明显,他们从不检查自己的定义是否与其他人一致。
我的建议是充分确定您的用途并遵循它。然后其他人可以获得参考(您的公式/算法),并可以在您和他们的之间进行转换。
顺便说一句,弄清楚利用率、用途等非常复杂并且充满陷阱。操作系统移动任务、逻辑 CPU 在核心之间移动、turbo 模式暂时提高时钟速率、工作被卸载到内部协处理器、处理器进入睡眠状态或频率下降、多个逻辑 CPU 争夺共享资源的超线程等。更糟糕的是这是一个移动的目标。随着硬件和软件架构按照摩尔定律和任何等效软件不断发展,如今精确且定义明确的指标将很快开始过时。