客户操作系统利用率 100%,‘总运行时间’约为 60%

客户操作系统利用率 100%,‘总运行时间’约为 60%

我已经在 Linux HyperV VM 上运行了 CPU 压力测试。Linux 报告 CPU 利用率为 100%,但“Hyper-V Hypervisor Virtual Processor(*)\%Total Run Time”指标显示约为 60-70%。

是否可以获取 Guest 系统的“实际” CPU 利用率?如何使“Hyper-V Hypervisor Virtual Processor(*)\%Total Run Time”达到 100%?

答案1

对于您的问题,我可以想到两种不同的解释:

1)Linux VM 有多少时间处于空闲状态?

2)Linux VM 运行代码的时间有多少?

问题 1 的答案是您的 Linux VM 并非空闲。Linux 认为它 100% 繁忙意味着它 0% 的时间处于空闲状态。

问题 2 的答案是 60-70%。您的 Linux VM 的 VP 运行了 60-70% 的时间。

也许您想问第三个问题:为什么我的 Linux 虚拟处理器仅运行 60-70% 的时间?

要回答这个问题,您必须考虑其他因素。也许还有其他虚拟机在浪费时间。也许 Linux VM 没有安装半虚拟驱动程序(集成组件),并且其 VP 正在暂停,因为它们正在尝试与“完全虚拟化”硬件交互,这意味着它们正在尝试以适合物理机的方式执行 I/O 和其他操作,而虚拟机管理程序正在花时间模拟这些物理机方面。

答案2

您可以使用以下方式查找主机上的物理核心使用情况“\Hyper-V 虚拟机管理程序逻辑处理器 (_Total)\% 总运行时间” (LPTR)

如果虚拟处理器数量多于逻辑处理器(核心),它们将进行上下文切换,虚拟使用率会降低;不要超额订购处理器。虚拟机管理程序的开销很小,因此您需要比 vCPU 多一个或两个核心才能达到 100% 的客户利用率。

考虑在裸机上运行此负载测试作为比较。这将显示处理器上的 100% 情况。

相关内容