Hyper-V 处理器性能
虚拟化服务器可托管彼此隔离但共享基础硬件资源的多个虚拟机 (VM)。 处理器、内存和 I/O 设备已经过虚拟化。 将服务器合并到单台计算机上后,虚拟化可提高资源利用率和能源效率,并降低服务器的操作和维护成本。 本文可帮助你了解有关微调和提高 Hyper-V 性能的处理器性能注意事项。
虚拟机集成服务
虚拟机(VM)集成服务包括针对 Hyper-V 特定 I/O 设备的优化驱动程序,与模拟设备相比,这大大降低了 I/O 的 CPU 开销。 在每个受支持的 VM 中安装最新版本的 VM 集成服务。 这些服务降低了来宾(从空闲来宾到频繁使用的来宾)的 CPU 使用率,同时提高了 I/O 吞吐量。 这是在运行 Hyper-V 的服务器中优化性能的第一步。 有关受支持来宾操作系统的列表,请参阅 Hyper-V 概述。
虚拟处理器
评估工作负荷以确定处理器要求,从而避免不足或过度配置。 使用评估结果配置所需的虚拟处理器数。 如果 VM 在峰值负载下需要多个处理资源,请增加虚拟处理器的数量。 若要详细了解 Hyper-V 中可配置的最大模块,请参阅 为 Windows Server的 Hyper-V 可伸缩性进行规划。
使用同步多线程 (SMT) 时,我们建议使用 2 的倍数个虚拟处理器。 大多数基于 AMD 和 Intel 的新式系统都启用了 SMT,在启用的情况下,我们建议将虚拟机配置为具有偶数个虚拟处理器。 若要了解有关 SMT 的详细信息,请参阅管理 Hyper-V 虚拟机监控程序调度程序类型。
后台活动
尽量减少空闲 VM 中的后台活动可释放其他 VM 占用的 CPU 周期。 Windows 来宾在空闲时在一个 CPU 中占用的量通常不到 1%。 下面是将 VM 的后台 CPU 使用率降至最低的最佳做法:
安装最新版本的 VM 集成服务。
通过“VM 设置”对话框移除模拟的网络适配器(使用特定于 Microsoft Hyper-V 的适配器)。
删除未使用的设备(例如 CD-ROM 和 COM 端口),或断开其媒体连接。
在 Windows 来宾操作系统未使用时,将其保持在登录屏幕上,并禁用屏幕保护程序。
查看默认启用的计划任务和服务。
查看 Windows 事件跟踪 (ETW) 跟踪提供程序,这些提供程序通过运行
logman.exe query -ets
默认启用。改进服务器应用程序以减少周期性活动(例如计时器)。
关闭主机和来宾操作系统上的服务器管理器。
不要让 Hyper-V 管理器保持在运行状态,因为它会不断刷新 VM 的缩略图。
下面是在 VM 中配置 Windows 客户端版本来减少总 CPU 使用率的最佳做法:
禁用 SuperFetch 和 Windows Search 等后台服务。
禁用计划任务(例如计划的碎片整理)。
虚拟 NUMA
Windows Server 中的 Hyper-V 扩展了 VM 扩展限制,从而能够虚拟化大型纵向扩展工作负载。 创建大型 VM 时,通常会使用主机系统上多个 NUMA 节点的内存。 在该类型的 VM 配置中,如果未从同一 NUMA 节点分配虚拟处理器和内存,工作负载的性能可能会很差。 性能会受到负面影响,因为工作负载无法利用 NUMA 优化。 若要详细了解 Hyper-V 中可配置的最大模块,请参阅 为 Windows Server的 Hyper-V 可伸缩性进行规划。
在 Windows Server 中,Hyper-V 向 VM 提供虚拟 NUMA 拓扑。 在默认情况下,将优化此虚拟 NUMA 拓扑以匹配基础主计算机的 NUMA 拓扑。 通过在 VM 中公开虚拟 NUMA 拓扑,让来宾操作系统及其中运行的任何 NUMA 感知应用程序能够利用 NUMA 性能优化,就像在物理计算机上运行时的行为一样。
从工作负载的角度来看,虚拟 NUMA 和物理 NUMA 之间没有区别。 在 VM 中,当工作负载为数据分配本地内存并访问同一 NUMA 节点中的数据时,底层物理系统便可实现快速本地内存访问。 可成功避免由于远程内存访问而引起的性能损失。 只有 NUMA 感知应用程序才能从 vNUMA 中获益。
Microsoft SQL Server 是支持 NUMA 的应用程序的示例。 有关详细信息,请参阅 了解非均匀内存访问。
无法同时使用虚拟 NUMA 和动态内存功能。 启用了动态内存的 VM 实际上只有一个虚拟 NUMA 节点。 无论虚拟 NUMA 设置如何,NUMA 拓扑并未呈现给 VM。
有关虚拟 NUMA 的详细信息,请参阅 Hyper-V 虚拟 NUMA 概述。
相关链接
以下一些文章可帮助你了解有关 Hyper-V 的详细信息。