我们有一个带有两台 Hyper-V 服务器的 Windows Server 2012 环境。
它们每个都有两个 16 核 AMD CPU、八个 16GB DDR3 ECC RAM 模块、10 个 HW-Raid 6 中的 HDD。
现在 Hyper-V 正在运行,一些 VM 也已启动。但 VM 的 CPU 性能非常差。
一台虚拟机有 24 个 vCPU 和 80GB RAM(以及 Windows Server 2012)。但是如果我在这台机器上启动 Prime95,vCPU 计数器全部为 100% - 主机空闲 3%。从逻辑上讲,素数测试的结果需要的时间比主机本身长约 12 倍。
(RAM 速度和 HDD 速度都很棒)
有人知道这里出了什么问题吗?
我非常感谢你的每一条建议!
我尝试过的事情:
- 禁用 NUMA
- 赋予该虚拟机更高的优先级
- 更新 VM 集成工具
- 已安装所有更新
- 启用“最大性能”-主机和虚拟机上的能源设置
答案1
我会尝试减少该虚拟机分配的 CPU 数量,先减少到 4 个,然后再减少到 8 个,然后比较结果。我在许多虚拟系统上都看到过这种情况,分配大量虚拟核心会降低实际 CPU 可用性。我在这里唯一的假设是,与 1 或 2 个主机相比,主机期望分配较少 CPU 的客户机数量更多。
答案2
虚拟化用于在无法/无法有效利用硬件资源的虚拟主机之间共享硬件资源。使用虚拟化通常意味着由于虚拟化开销而损失 5% 到 10% 的硬件资源。
您几乎只用一个虚拟机就使用了所有可用资源。我认为您希望应用程序具有高可用性,希望它作为虚拟机在出现硬件/主机问题时故障转移到另一个 hyper-V。我说得对吗?
除非您的应用程序无法在故障转移/集群模式下工作(或无法支付许可证),否则我建议切换到这些模型而不是虚拟化。
您还可以检查:-升级物理服务器上的 BIOS -应用建议的补丁这里 -如果差距仍然很大,请使用更少的 CPU 再次检查