加入收藏 | 设为首页 | 会员中心 | 我要投稿 柳州站长网 (https://www.0772zz.cn/)- 基础存储、数据迁移、云安全、数据计算、数据湖!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

vCPU 如何分配能得到性能最优化?

发布时间:2021-03-02 15:30:14 所属栏目:外闻 来源:互联网
导读:假设一个简单的场景: 环境中每台主机拥有4颗8核的物理CPU,总物理核数为32个。 一个未设置CPU插槽的虚拟机,CPU数量为8个,则可能由主机上一个物理CPU的8个内核组成虚拟机的8个虚拟CPU;或可能由一个物理CPU提供5个内核,另一个物理CPU提供3个内核,一同组成




假设一个简单的场景:

环境中每台主机拥有4颗8核的物理CPU,总物理核数为32个。

一个未设置CPU插槽的虚拟机,CPU数量为8个,则可能由主机上一个物理CPU的8个内核组成虚拟机的8个虚拟CPU;或可能由一个物理CPU提供5个内核,另一个物理CPU提供3个内核,一同组成虚拟机的8个虚拟机CPU,等等。

另一个虚拟机设置了CPU插槽数量为4,此时虚拟机的8个CPU平均地由主机上的4颗物理CPU提供,每个物理CPU提供2个内核,达到了最佳的计算性能。

@doc:

vCPU,顾名思义,是虚拟CPU。创建虚拟机时,需要配置vCPU资源。因此vCPU是虚拟机的部件。因此脱离VM,谈论vCPU是没有意义的。

虚拟化管理系统如何调度vCPU,取决于系统内的虚拟机数目以及虚拟机配置的vCPU的情况。

大致的情况如下:

1、当系统内VM所需的vCPU总数少于物理CPU的核数(包括超线程Core)时,虚拟化管理系统为vCPU分配的资源不超过一个物理CPU核。vCPU与物理核的分配关系可以是绑定的,也可能是动态的。

比如服务器有20个核心,你创建了2个VM,每个VM 4个vCPU,那么这两个VM最多能够使用服务器的8个核心。

2、当系统内的VM所需要的vCPU核大于物理CPU核数时,虚拟化管理系统首先按照时间片轮流调度一遍,然后如果还有剩余的CPU资源,则给所需要的vCPU。比如系统配置了40个vCPU,只有20个物理核。那么平均每个vCPU获取一个核心50%的资源。由于一些VM忙,一些VM空闲,虚拟化系统会在一个调度周期内,划分出若干时间片,轮流给每个vCPU使用。忙的vCPU可以使用完整个时间片,而闲的vCPU用不完整个时间片,会提前释放资源。这样在一个调度周期内,对每个vCPU都调度一遍后还有空闲的时间,调度器会把用这剩余的资源去调度忙的vCPU。这样兼顾公平和效率。这中调度算法具体下来,大致是如下效果:系统有1个CPU 2.0 Ghz,两个VM,分配1个vCPU。如果VM1 和 VM2都忙,那么各自相当于拥有一个1.0 Ghz的CPU。如果VM1很忙,VM1只需要 500Mhz的处理能力,那么在VM1看来,相当于暂时获得了 1.5Ghz的处理器。

 





假设一个简单的场景:

环境中每台主机拥有4颗8核的物理CPU,总物理核数为32个。

一个未设置CPU插槽的虚拟机,CPU数量为8个,则可能由主机上一个物理CPU的8个内核组成虚拟机的8个虚拟CPU;或可能由一个物理CPU提供5个内核,另一个物理CPU提供3个内核,一同组成虚拟机的8个虚拟机CPU,等等。

另一个虚拟机设置了CPU插槽数量为4,此时虚拟机的8个CPU平均地由主机上的4颗物理CPU提供,每个物理CPU提供2个内核,达到了最佳的计算性能。

@doc:

vCPU,顾名思义,是虚拟CPU。创建虚拟机时,需要配置vCPU资源。因此vCPU是虚拟机的部件。因此脱离VM,谈论vCPU是没有意义的。

虚拟化管理系统如何调度vCPU,取决于系统内的虚拟机数目以及虚拟机配置的vCPU的情况。

大致的情况如下:

1、当系统内VM所需的vCPU总数少于物理CPU的核数(包括超线程Core)时,虚拟化管理系统为vCPU分配的资源不超过一个物理CPU核。vCPU与物理核的分配关系可以是绑定的,也可能是动态的。

比如服务器有20个核心,你创建了2个VM,每个VM 4个vCPU,那么这两个VM最多能够使用服务器的8个核心。

2、当系统内的VM所需要的vCPU核大于物理CPU核数时,虚拟化管理系统首先按照时间片轮流调度一遍,然后如果还有剩余的CPU资源,则给所需要的vCPU。比如系统配置了40个vCPU,只有20个物理核。那么平均每个vCPU获取一个核心50%的资源。由于一些VM忙,一些VM空闲,虚拟化系统会在一个调度周期内,划分出若干时间片,轮流给每个vCPU使用。忙的vCPU可以使用完整个时间片,而闲的vCPU用不完整个时间片,会提前释放资源。这样在一个调度周期内,对每个vCPU都调度一遍后还有空闲的时间,调度器会把用这剩余的资源去调度忙的vCPU。这样兼顾公平和效率。这中调度算法具体下来,大致是如下效果:系统有1个CPU 2.0 Ghz,两个VM,分配1个vCPU。如果VM1 和 VM2都忙,那么各自相当于拥有一个1.0 Ghz的CPU。如果VM1很忙,VM1只需要 500Mhz的处理能力,那么在VM1看来,相当于暂时获得了 1.5Ghz的处理器。

(编辑:柳州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读