码迷,mamicode.com
首页 > 其他好文 > 详细

FusionCompute R3C00以及后续版本VCPU和物理CPU以及HZ资源的关系的关系以及内存复用的

时间:2020-01-30 00:06:13      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:配置   竞争   因此   部分   物理   情况   空闲   压力   调度算法   

 

R3C00后,虚拟机增加了一个CPU QoS参数——预留,概念为无论主机任何压力下,都保证虚拟机可以获取的CPU资源,单位MHz,默认值为0,范围为【0, VCPU数量*CPU主频】

 

有了CPU预留概念后,就可以确定VCPU和物理CPU的关系:

例如主机有一个1物理CPU,主频2000MHz,,如果创建一个1核虚拟机,虚拟机Qos预留如果设置为1000MHz,那么

物理CPU = 2VCPU

如果预留设置为2000MHz,物理CPU=1VCPU

如果预留设置为0,物理CPU=无限个VCPU

了解更多请参考文档或电话咨询

 

默认情况下,VCPU和物理CPU没有严格对应关系,Hypervisor的CPU调度算法会平衡不同VCPU运行在PCPU上,未产生竞争情况下,1个VCPU最多能够获得1个PCPU的能力,即对应物理核能力的上限

 

举个例子:PCPU 2.4GHz,没有竞争的情况下,配置1VCPU的虚拟机最多能够获得2.4GHz,2VCPU对应2.4GHz*2(但并不等于4.8GHz,虚拟机内呈现的是2个虚拟核,因此单线程业务最多仍然只有2.4GHz能力),以此类推

 

R3C00开始引入了HZ的概念,可以细化定制虚拟机VCPU的限制(上限),预留(下限)。

 

限制(上限)定义了虚拟机获取PCPU能力的上限,比如PCPU 2.4GHz,2VCPU虚拟机可配置最高限制为4800MHz(2.4GHz*2),假如当前设置为2400MHz,在无竞争条件下,虚拟机内部加压最多只能获取1个PCPU的能力;默认限制为0(不限制),效果与配置最高限制相同。

 

预留(下限)定义了虚拟机获取PCPU能力的下限,同样PCPU 2.4GHz,2VCPU虚拟机可配置最高预留为4800MHz(2.4GHz*2),假如当前设置为2400MHz,在竞争条件下,该虚拟机能够确保至少获得1个PCPU的能力;但预留不意味着独占,在该虚拟机没有CPU压力时,这部分CPU资源仍然可以被其他虚拟机使用

 

 

1、开启内存复用后,理论可以增加的复用内存多少不是个固定值,与虚拟机具体内存使用情况有关。简单来讲,只有虚拟机存在空闲内存时才有可能复用内存给其他虚拟机。

假定虚拟机内存利用率是30%,那么理论上有70%的内存可以复用给其他虚拟机,因此我们一般对外的经验公式是:内存复用率 = 90% - 虚拟机平均内存利用率,10%预留防止内存用尽。

 

举个例子:单板内存40G,虚拟机平均内存利用率是60%,那么建议增加复用内存量是40G * 30% = 12G,即总计52G内存规格的虚拟机。

 

版本对虚拟机发放数量没有限定,如果不计利用率超量发放,会导致虚拟机产生大量内存交换,影响业务性能(已经在Portal增加告警)。

 

2、复用和回收完全由UVP底层内存策略来控制,当单板内存低于一定阈值时从虚拟机内复用,高于一定阈值时归还给虚拟机

FusionCompute R3C00以及后续版本VCPU和物理CPU以及HZ资源的关系的关系以及内存复用的

标签:配置   竞争   因此   部分   物理   情况   空闲   压力   调度算法   

原文地址:https://www.cnblogs.com/pipci/p/12241646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!