一个物理CPU可划分成多个虚拟CPU,一个虚拟CPU可以支持4到8个
虚拟机。
一个物理
CPU一般一个内核会支持多个处理线程(
英特尔超线程技术)。这就意味着一个六核的
Xeon处理器可以提供给服务器六个物理CPU。当超线程开启的时候,每个线程可以作为一个物理CPU,所以如果这个六个核都开启了双线程支持,那么服务器将看到12个物理CPU。
当安装了虚拟化层,每个物理CPU被抽象成每个虚拟CPU,通常情况下,会为每个内核划分可用的虚拟CPU资源,并允许多个虚拟CPU虚拟机共享一个物理处理器内核。默认情况下,虚拟化层会给每个工作负载分配一个虚拟CPU(一个核)。
一般一个虚拟CPU可以支持4到8个虚拟机。假设我们使用保守限制,例如每个虚拟CPU支持4个虚拟机。假如服务器有两个4核虚拟CPU(共八核),预计这个虚拟CPU服务器可能支持32个虚拟机 或者更多。如果是4个4核的虚拟CPU(共16核),预计服务器会支持64个虚拟机或更多。
要知道,如果多个虚拟机可以共享一个虚拟CPU,那么每个虚拟机可以用的虚拟CPU资源就会减少,可能会影响虚拟机的性能。如果一个服务器上的工作负载需要更多的虚拟CPU,最好是在一个虚拟CPU上部署更少的虚拟机。
此外,你也可以给一个虚拟机分配多个虚拟CPU,但是最重要的是虚拟CPU不能超过服务器中实际处理器的数量。例如,假如一个服务器只有一个虚拟CPU,那么只能给每个虚拟机分配一个虚拟CPU。假如服务器有两个处理器,最多只能给一个虚拟机分配两个虚拟CPU。如果服务器有四个虚拟CPU,那么一个虚拟机最多分配不能超过四个虚拟CPU。