现在的位置: 首页 > 综合 > 正文

关于虚机里面的vCPU ( by quqi99 )

2014年01月18日 ⁄ 综合 ⁄ 共 887字 ⁄ 字号 评论关闭

                                                                           关于虚机里面的vCPU ( by quqi99 )

作者:张华  发表于:2012-12-27
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

( http://blog.csdn.net/quqi99 )

         刚才有个同事向我问vCPU的问题,说实话,还真不大确定,向他回复了一些我的理论推测。我也很想知道这个问题的真实结论,所以让他帮忙做一下实验,等着他反馈吧。

问:“请教你一个问题 , 在KVM中,是一个物理的core对应一个vCPU对吗? ”

我答:“

我的理解是:
vCPU和实际的物理CPU数(比如说是2)是没有关系的,两码事。
比如说KVM支持的vCPU实际上是一个定值,就比如说16吧,这个值是硬编码在代码里头的。
但是一个虚机所分的vCPU不能多于物理CPU的核数,故虚机的vCPU数不能多于2.
那样的话,这台物理上创建的虚机数不能多于16/2=8个。

一个虚机的性能并不会因为你所给的vCPU数高而提高,永远都是vCPU数=1的性能的虚机是最好的。
例如,如果物理CPU数是2,那样虚机的vCPU最多也是2,当它是2的时候比它是1的性能从理论上讲应该更差一些。
因为如果vCPU数=2,那样意味着两个物理CPU核的时钟周期都必须同时一致时才会给这个虚机提供CPU调度,所以它的性能要更差一些

问:”如果我现在有一个8核的主机,最多可以创建多少台虚机?

我答:

假如说KVM中的硬编码的vCPU数为16(记不大清楚了,好像是16,也好像是32)。
8个物理CPU核,意味着一个虚机的vCPU不能多少8个。
如果每个虚机的vCPU数为8,那么最多只能创建2个虚机
如果每个虚机的vCPU数为1,那么最多只能创建16个虚机
只是我的理论猜测,有兴趣的话你可以做个实验验证一下,结果可以跟我反馈一下

补充一点:合理的应该是最大的vCPU是物理CPU数的一个倍数,但KVM的应该就是16,是硬编码的,不知道新版本的改了没有。

抱歉!评论已关闭.