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

虚拟机的核数和硬件核数关系


一、云服务器上物理CPU和虚拟机CPU的关系

CPU预留定义分配给VM的最小CPU资源。CPU限制定义了分配的虚拟机占用的CPU资源的上限。CPU份额定义了几个虚拟机的比例分配;只有CPU份额在虚拟机争夺计算资源时发挥作用。

由于采用时分复用的方式,在没有预留VCPU的情况下,系统可以分配给VM的VCPU总数远远大于实际可以交付的VCPU数量(具体是额外增加多少个)可以创建VCPU)VCPU取决于物理CPU的性能和VCPU的使用率当发生资源争用时,根据CPUQoS中的预留和份额来分配资源。



扩展信息

对于虚拟机,执行不直接感知物理CPU,虚拟机的计算单元通过vCPU对象呈现。在VMM中,每个vCPU对应一个VMCS结构当VCPU从物理CPU切换时,其执行上下文会存储在其对应的VMCS结构中当VCPU切换到PCPU上运行时,其执行上下文将从物理CPU上导入物理CPU对应的VMCS结构。这样就实现了vCPU之间的独立运行。

虚拟化平台将1000多个服务器集群虚拟成多个性能可配置的虚拟机(KVM),对整个集群系统中的所有KVM进行监控和管理,并根据实际资源使用情况和资源池进行灵活调整调度可以突破单台物理机的限制动态资源调优和分配,消除服务器和存储设备的单点故障,实现高可用性。

物理CPU通常支持每个内核多个处理线程(英特尔超线程技术)。这意味着六核至强处理器可以为服务器提供六个物理CPU。当超线程打开时,每个线程都可以充当一个物理CPU,因此如果所有六个核心都启用了双线程支持,则服务器将看到12个物理CPU。

每个物理CPU被抽象为每个虚拟CPU。通常情况下,可用的虚拟CPU资源是为每个核心共享的,并且允许多个虚拟CPU机器共享一个物理处理器核心。默认情况下,虚拟化层为每个工作负载分配一个虚拟CPU(一个核心)。通常,一个虚拟CPU可以支持4到8个虚拟机。

参考资料:-云服务器

参考资料:-虚拟CPU


二、hyper-vcpu20核就是电脑20核吗是的。.物理CPU数量:主板上实际放置的CPU数量。可以统计不重复的物理ID(physicalid)的数量
2。CPU核心数:单个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核数(包括超线程)时。core),虚拟化管理系统为不超过1个物理CPU核心的资源分配vCPU。vCPU和物理核心之间的分配关系可以是受约束的,也可以是动态的。
例如,如果您的服务器有20个核心,并且您创建2个虚拟机,每个虚拟机有4个vCPU,则这两个虚拟机最多可以使用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非常繁忙,只需要500Mhz的处理能力,那么从VM1的角度来看,相当于暂时获得了一个1.5Ghz的处理器。
3.通过Xen测试,当系统中所有虚拟机的vCPU总数小于等于CPU核心数时,VM的性能比较稳定。VM的vCPU基本上与CPU核心绑定。当vCPU数量大于物理核数量时,虚拟机的性能稳定性会下降。