ronnie_luo 发表于 2013-4-3 11:07:31

虚拟机的核心数量和CPU份额关系

有一事不解,默认情况下,CPU份额是根据分配的核心数量对应的,CPU份额又是可以手动编辑的。那么我分配1核给虚拟机后,手动调整CPU份额为很高,那么会有什么效果了?

TiGi 发表于 2013-4-3 11:22:40

本帖最后由 TiGi 于 3-4-2013 11:54 编辑
根据你的硬件和硬件而定 —— 假设主机上8*2.0GHz的处理器,理论上可以有16G的CPU资源,分配一个vCPU给某个VM 8G,那这个虚拟机理论上可以用到8G的处理器。
注,根据“plane”的跟帖,我在其他VM上,对于多vCPU进行了实验,暂时的推论如下:
在pCPU频率低于8GB的情况下,单vCPU能够分配到8G资源,但是只能拿到将近2G的资源,而无法真正拿到8G的资源。
——————————
但是如果VM的CPU资源占用都很高,那多个设置了较高CPU资源的VM,到时候就会打架!
设置多vCPU还是单vCPU,和应用有关系 —— 但是通常虚拟化的应用,单vCPU以及2-4vCPU会比较合适。

plane 发表于 2013-4-3 11:26:53


如果这个VM,只有一个vCPU,那它最大只能用到2GHz的CPU资源。
尽管你的主机有8*2.0GHz CPU资源。

TiGi 发表于 2013-4-3 11:22:00

本帖最后由 TiGi 于 3-4-2013 11:55 编辑
没有试过"赋予单vCPU的VM超过pCPU频率的CPU资源"过。
手头有一个VM,运行在R710上,pCPU频率是2.66G,分配了4vCPU,限额是16000MHz。我以此作为测试机,测试了一下。
原本的运行状况如下:
————————
我更改了资源配置状况,由16000MHz CPU增加到24000MHz,但是占用的CPU资源,差不多还是115xx Mhz。
————————
我估算了一下,估计如下:
在资源分配表内,可以设置较多的CPU —— 这个数值,不会受到pCPU频率等因素的影响;但是VM所能真正占用到的资源,估计还是受到"vCPU核心数*pCPU频率"的影响。
因此,你的说法是正确的。

plane 发表于 2013-4-3 11:40:30


说起来一把辛酸一把泪啊!
曾经我也以为,像你这样想。
后来,遇到一个项目,Windows 2000 Server,只支持4个CPU!
一开始不知道。。。
搞了很大的硬件,完全用不上。。。

ronnie_luo 发表于 2013-4-3 11:26:00

非常感谢各位的解释,另外问下有没有文档介绍这个的?

seanlaser 发表于 2013-4-3 12:31:55


win2000看你安装的是什么版本了。类似的问题在Windows Server上面还是存在的。
对于这类的你需要将Vm设置成合适的“座数”以及“核数”才能让GuestOs用足。
不论如何其实还是要看应用本身的对于“座”“核”“线程”的利用方式了。不然即便Os支持也白搭。

TiGi 发表于 2013-4-3 11:40:00


由此看来,如果要在虚拟化平台上运行不支持较多vCPU的系统,那物理主机必须要配置较高频率的pCPU。

TiGi 发表于 2013-4-3 12:33:09


LS已经有实验了啊。
你也可以根据自己的需求,测试一下啊。

seanlaser 发表于 2013-4-3 13:00:28


这个是基本啊,vCPU不可能突破Core限制的速度。因此不可能发生虚拟化后多核叠加成一个更大的虚拟核的。
虚拟化就是分拆,完全不能组合的。
还有内存,别以为Vm分多少内存都可以,这个牵涉到内存控制器和内部调用通道的问题。实际上现在的内存控制器是每Cpu的,不是系统全局的。如果发生Vm内存分配过大,vCPU分的又少,会可能发生性能下降的。cpu在访问内存的时候如果发现不是本身控制器控制的内存,就要通过通道去其他Cpu调。

TiGi 发表于 2013-4-3 12:31:00


LS已经有实验了啊。
你也可以根据自己的需求,测试一下啊。

seanlaser 发表于 2013-4-3 13:06:50


资源分配里分配的实际上是权重值,单独增加一个Vm的Cpu权重不能直接反映实际的调度值,这个Vm实际的分配值受到全局分配值的影响,另外还和保留、以及本池和上级池其他的Vm分配权重有关系。

seanlaser 发表于 2013-4-3 12:31:00


Vmware官方文档库里有的,记得是resource management guide之类的
http://www.vmware.com/support/pu ... _pubs_res_mgmt.html

TiGi 发表于 2013-4-3 13:18:00


一直以为pCPU“资源”池化后,所有核心、所有频率就全部“一体化”了。前面的测试,才意识到这个问题。

renlixing 发表于 2013-4-3 13:07:17


本来就是这个样子的,一个vcpu对应一个核心
页: [1] 2
查看完整版本: 虚拟机的核心数量和CPU份额关系