我已经看了这个线程: Hyper-V和超线程:打开或closures? ,但唯一的答案是Windows具体….
我正在构build一个虚拟机服务器(使用Proxmox VE如果有所作为),并想知道超线程如何影响虚拟机…
具体来说,如果我最大限度地减less虚拟机的数量,是否会超线程帮助,或者损害性能?
此外,最大的虚拟机将是一个terminal服务器,约30客户端(4核心/ 8 GB的RAM)和文件服务器,如果有帮助。
更新:服务器是戴尔R410与1TB RAID 10,32 GB的RAM和双Intel Xeon E5530(我不确定确切的型号,但它是一个E55xx与2+ Ghz)
更新:大多数虚拟机将在KVM上。
一般而言,我将HyperThreading设置为启用 VM主机服务器(VMWare ESXi,KVM,HyperV等)。 这适用于Intel Nehalem和更新的CPU(5500系列及更高版本)。 其他可用于调度多个VM的线程。
您可能还需要重新评估客户系统的大小。 通常情况下,最好从虚拟机的CPU分配开始。 既然你在谈论一个terminal服务器,我实际上将它移动到2个虚拟CPU而不是4个vCPU。 虚拟机pipe理程序更容易为具有较小内核数量的虚拟机调度CPU时间 。 尽pipeRAM仍然很重要,所以一定要充足。
请参阅: http : //omtconcepts.com/wp/?p=14
这真的取决于。 如果像你所说的那样,你会“最大化”,我认为这意味着CPU占用太多(分配更多的虚拟CPU内核,或者你可用的CPU数量),那么HT肯定是上。
如果你没有过度使用,那么在你的特定负载下testing通常会更好 – 有时HT实际上会损害性能。
有很多影响虚拟机性能的variables。 HT只是其中一个variables,但是也取决于VM的configuration方式。
影响HT的variables之一取决于正在使用的pipe理程序的types。
如果你使用的是VZ,VServer等轻量级虚拟机,那么很明显HT会带来合适的好处,因为这些虚拟机实际上并没有严格隔离,更像是运行multithreading软件。
如果你正在使用像KVM,Xen HVM等重量级的虚拟机,那么HT可能会干扰一些事情,比如当一个虚拟机被分配了两个CPU,但最终在不同的核上使用一个HT。
所以,最好的办法是testing你的设置,看看有什么适合你的。