当前位置:首页 > 虚拟机 > 正文

虚拟机分配的核心是不是线程(虚拟机分配的核心与线程数)


一、hyper-vcpu20核就是电脑20核吗是的。.物理CPU数量:主板上实际安装的CPU数量。可以统计不重复的物理ID(physicalid)的数量
核心数:单个CPU上可以处理数据的芯片组数量,如双核、四核等(cpucores核心)
3.逻辑CPU数量:简单地说,它可以使处理器中的1个核心,像2个核心一样,在操作系统中发挥作用。
这样,操作系统可用的执行资源就增加了一倍,大大提高了系统的整体性能。此时,逻辑CPU=物理CPU数×核心数x2。
总核心数=物理CPU数×每个物理CPU核心数。逻辑CPU总数=物理CPU数量×每个物理CPU的核心数量×超线程数量。
vCPU,顾名思义,就是虚拟CPU。创建虚拟机时,必须配置vCPU资源。所以vCPU是虚拟机的一个组件。因此,没有VM就谈论vCPU是没有意义的。
虚拟化管理系统如何调度vCPU取决于系统中虚拟机的数量以及虚拟机上配置的vCPU。
总体情况如下:
1.当系统中VM所需的vCPU总数小于物理CPU的核心数(包括超线程核心)时,虚拟化管理系统分配的vCPU资源不超过1个物理CPU核心。vCPU和物理核心之间的分配比例可以是固定的,也可以是动态的。
例如,如果服务器有20个核心,并且您创建2个虚拟机,每个虚拟机有4个vCPU,则这2个虚拟机最多可以使用服务器上的8个核心。
2.当系统中虚拟机所需的vCPU核数大于物理CPU核数时,虚拟化管理系统首先按照时间片依次调度,如果还有剩余CPU资源,则再调度所需的vCPU。例如,系统配置了40个vCPU,但仅配置了20个物理内核。那么每个vCPU平均获一个核心50%的资源。由于虚拟机有的繁忙,有的空闲,虚拟化系统会在一个调度周期内分割出多个时隙,轮流为每个vCPU使用。繁忙的vCPU可以使用整个时隙,但空闲的vCPU不能使用整个时隙,会提前释放资源。这样,在一个调度周期内,每个vCPU被调度一次后,如果还有空闲时间,调度器就会利用剩余的资源来调度繁忙的vCPU。这样就平衡了公平和效率。具体来说,该调度算法的效果是:系统有1个CPU2.0Ghz,分配2个VM和1个vCPU。如果VM1和VM2都忙,则各自对应一个1.0GHz的CPU。如果VM1非常繁忙,VM1只需要500Mhz的处理能力,那么从VM1的角度来看,相当于暂时获得了一个1.5Ghz的处理器。
3.通过Xen的测试,当系统中所有虚拟机的vCPU总数小于等于CPU核心数时,VM的性能比较稳定。VM的vCPU基本上与CPU核心绑定。当vCPU数量大于物理核数量时,虚拟机的性能稳定性会变差。
二、虚拟机设置CPU是物理机的多少比较合适,能设置一样么?这取决于您的物理服务器的硬件配置和虚拟机的资源消耗。没有固定的算法。
但一般有几个限制:
1。内存
内存基本上是一个硬限制。服务器的物理内存肯定是有限的。例如,一台服务器有8核和8G内存。通常hypervisor会占用512M内存,剩下7.5G左右的内存。假设每台虚拟机的配置为1corecpu和1G内存,则该机器上最多可以运行7个。虚拟机。创建新虚拟机时,会报内存不足的错误信息。这样的话,每个虚拟机在满载的情况下最多可以拥有1个cpucore的计算能力和1G的内存空间。
当然,现在的hypervisor基本都支持overcommit功能了。也就是说,如果你的内存只有8G,但是你设置了一定比例的复用,比如50%,那么你最多可以拥有12G的内存。仍然使用上面的例子,如果overcommit设置为50%,最多可以创建11个虚拟机(1core,1Gmem)。在服务器虚拟化方面,建议overcommit不要设置得太高,一般为20%。对于桌面虚拟化,可以将overcommit设置为50%。
2.网卡
如果服务器只有一张网卡,则所有虚拟机的网络流量都经过一张网卡。外出时,虚拟机越多,每个虚拟机可以使用的带宽就越少。这需要综合考虑。比如使用多个网卡等。

CPU资源基本上都是采用时分复用的方式进行轮询,即时间片。
4.磁盘I/O
是本地磁盘还是网络磁盘?如果是网盘,是使用iSCSI还是光纤?不同的情况有不同的负载。
一般情况下,一台服务器上可以运行的虚拟机数量需要综合考虑物理服务器的整体情况、虚拟机负载等情况来计算,没有固定的公式。


三、虚拟机处理器虚拟机的CPU性能有两个因素相关:处理器数量和核心数量,所以选择一个处理器然后相应选择核心数量就可以了。虚拟机上的计算机核心和系统的实际数量。
如果您的真实计算机有8个线程(线程,而不是核心),请根据您的虚拟机系统做出不同的选择。对于XP,2个核心就足够了。对于WIN7及以上版本,建议3核或4核。受到推崇的。确保虚拟机中的核心数不超过实际线程数的三分之二。