我们的IT创建了一个分配了2个CPU而不是我要求的4个虚拟机.他们的原因是VM使用2个CPU而不是4个(根据它们)表现更好.基本原理是VM虚拟机管理程序(在这种情况下为VMWare)在使用任何CPU之前等待所有CPU可用.因此,等待4个而不是2个CPU需要更长的时间.
这个陈述有意义吗?
这曾经是真实的,但不再是唯一的.
他们所指的是Strict Co-Scheduling.
Most important of all,while in the strict co-scheduling algorithm,the existence of a lagging vCPU causes the
entire virtual machine to be co-stopped. In the relaxed co-scheduling algorithm,a leading vCPU decides whether
it should co-stop itself based on the skew against the slowest sibling vCPU
现在,如果主机只有4个线程,那么分配所有线程都是愚蠢的.如果它有两个处理器和每个处理器4个线程,那么您可能不希望分配单个处理器的所有内容,因为您的虚拟机管理程序应该尝试将vCPU保持在同一个NUMA节点上以更快地访问内存,并且您是通过将整个套接字分配给单个VM,使这项工作更加困难(参见上面PDF的第12页).
因此,有些情况下,较少的vCPU可以表现得更好,但在100%的情况下都不是这样.
所有这一切,我很少为每位客人分配超过3个vCPU.默认情况下,每个人获得2,如果工作负载繁重,则为3;对于SQL Server或非常繁重的批处理VM??,或者具有大量用户的终端服务器,每个人获得4个.