超线程和虚拟机?

超线程和虚拟机?

我已经看过这个帖子:Hyper-V 和超线程:开启还是关闭?,但唯一的答案是 Windows 特定的......

我正在构建一个 VM 服务器(如果有所不同的话,使用 Proxmox VE)并且想知道超线程如何影响虚拟机......

具体来说,如果我将虚拟机数量增加到最大,超线程会有帮助还是会损害性能?

此外,最大的虚拟机将是一个具有约 30 个客户端(4 核/8 GB RAM)的终端服务器,以及一个文件服务器(如果有帮助的话)。

更新:该服务器是 Dell R410,配备 1TB RAID 10、32 GB RAM 和双 Intel Xeon E5530(我不确定具体型号,但它是配备 2+ Ghz 的 E55xx)

更新:大多数虚拟机将运行在 KVM 上。

答案1

总的来说,我离开超线程适用于 VM 主机服务器(VMWare ESXi、KVM、HyperV 等)。这适用于 Intel Nehalem 和更新的 CPU(5500 系列及更高版本)。有额外的线程可用于调度多个 VM。

您可能还想重新评估客户系统的大小。通常,最好从虚拟机的 CPU 分配开始。由于您谈论的是终端服务器,我实际上会将其移动到 2 个虚拟 CPU,而不是 4 个 vCPU。虚拟机管理程序可以更轻松地为核心数较少的虚拟机安排 CPU 时间。不过,RAM 仍然至关重要,因此请确保提供足够的空间。

看:http://omtconcepts.com/wp/?p=14

答案2

这确实要视情况而定。如果像您所说的那样,您要“最大化”,我想这意味着过度分配 CPU(分配比可用内核更多的虚拟 CPU 内核,或分配与可用内核完全相同的内核),那么 HT 绝对应该开启。

如果您没有过度分配,那么最好在特定负载下进行测试 - 有时 HT 实际上可能会损害性能。

答案3

很多影响虚拟机性能的变量。HT 只是其他变量之一,但它还取决于虚拟机的配置方式。

影响 HT 的变量之一取决于所使用的虚拟机管理程序的类型。

如果您正在使用轻量级虚拟机(例如 VZ、VServer 等),那么 HT 显然会带来相应的好处,因为这些虚拟机实际上并不是紧密隔离的,更像是运行多线程软件。

如果您正在使用重量级虚拟机(例如 KVM、Xen HVM 等),那么 HT 可能会产生干扰,例如,当为 VM 分配两个 CPU 但最终在不同的核心上分别使用一个 HT 时。

所以,最好的办法仍然是测试您的设置来看看什么适合您。

相关内容