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

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底层内存策略来控制,当单板内存低于一定阈值时从虚拟机内复用,高于一定阈值时归还给虚拟机

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

时间: 2024-08-03 20:44:27

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

cpu个数、核数、线程数、Java多线程关系的理解+物理cpu数和cpu核数和逻辑cpu数和vcpu区别

1.cpu个数.核数.线程数.Java多线程关系的理解 URL地址:https://blog.csdn.net/helloworld0906/article/details/905471592.物理cpu数和cpu核数和逻辑cpu数和vcpu区别 URL地址:https://blog.csdn.net/budonglaoshi123/article/details/84325720 原文地址:https://www.cnblogs.com/curedfisher/p/12204102.html

查看Linux物理CPU个数

查看内核版本 lsb_release -a 查看物理CPU个数.核数.逻辑CPU个数 (1)具有相同core id的CPU是同一个core的超线程. (2)具有相同physical id的CPU是同一个CPU封装的线程或核心. (3)总物理核数 = 物理CPU个数 X 每颗物理CPU的核数 (4)总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 (5)因此,对比总物理核数和总逻辑CPU数,如果不相等,则表示服务器CPU开启超线程. #查看CPU信息(型号) awk -F

使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx -------------------------------------------------------------------------------- 现在多核处理器已经很普及了,市场主流是双核处理器,还有4核.8核等高端产品.而且Intel推广了超线程技术(Hyper-Threa

Linux下区分物理CPU、逻辑CPU和CPU核数

判断依据: 一个物理封装的CPU(通过physical id区分判断)可以有多个核(通过core id区分判断). 而每个核可以有多个逻辑cpu(通过processor区分判断). 一个核通过多个逻辑cpu实现这个核自己的超线程技术. cpu cores 条目包含位于相同物理封装中的内核数量. siblings 条目列出了位于相同物理封装中的逻辑处理器的数量. // proc文件用processor做索引,是因为processor是拥有其下所列所有信息的最小单位.方便查看细化信息. //例如如果

KVM虚拟机绑定物理CPU进行性能调优

PS:前提是虚拟cpu总个数不多于物理cpu总个数. 绑定方法: 虚拟机的虚拟cpu有1个,实体机物理cpu有8个,可以通过以下方式绑定cpu,绑定的动作不一定要在虚机启动时,可以在任何时候: 绑定前: [[email protected] ~]# virsh vcpuinfo 1 VCPU:           0                    虚拟cup0 CPU:            1                   物理cpu1 State:          runni

linux查看物理cpu,cpu核数,逻辑cpu数

查看物理CPU个数 #cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数(即核数) #cat /proc/cpuinfo| grep "cpu cores"| uniq 查看逻辑CPU的个数 #cat /proc/cpuinfo| grep "processor"| wc -l

Linux查看物理CPU个数、核数、逻辑CPU个数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo

Linux上如何查看物理CPU个数,核数,线程数

首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率.超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源.当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些

CentOS中查看物理CPU信息的方法

CentOS中查看物理CPU信息的方法 1.概念 [1]物理CPU:实际Server中插槽上的CPU个数.物理cpu数量:可以数不重复的 physical id 有几个.[2]逻辑CPULinux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的信息内容分别列出了processor 0 – n 的规格.这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一