您的位置:首页 > 其它

vSphere中CPU资源如何分配

2014-08-15 15:05 351 查看
在使用VMWARE
Sphere划分虚拟机的时候,划分CPU资源的时候,有个插槽数选择和内核数选择,最后虚拟CPU资源是这两者的乘积,那么如果我需要8个VCPU,使
用8个插槽一个内核的分法和使用1个插槽8个内核的分法,这两者是否有区别?如有,那各自的优缺点又在哪里?谢谢各位了,这个问题困扰我好久了,求解
答:)1

说下我的理解吧。
当你使用物理服务器,同样的主频,你使用1路8核的服务器和2路4核的服务器,虽然最终的总主频值一样,1*8 和2*4其实相等。如果是物理PC,毫无疑问,插槽多的厉害,但都是虚拟的。
所以我觉得是组合的不同,性能相同。
如果性能相同,那又何必要这样分呢,为什么不直接设定VCPU的个数呢?

在xen里面插槽数和核心数是有限制的,比如xp和win7这样的桌面系统只能双核,需要超过只能使用命令行去强制修改vm的temp,官方解释是降低实际物理cpu的压力,在没有必要开启多vcpu的情况下尽可能降低,甚至使用单核单cpu
我觉得T版的理解应该是对的,因为我在vmware的实际应用里面没有感觉到总核数的怎么达成的有何差异。你可以用类似计算pi的软件去测试一下,目前官网文档没有找到细节解释,如果之后有找到,另行补充。

为了让别人省钱用的。主要是有些软件是按物理cpu来算钱的,如果把物理环境转到虚拟环境,那么本来是2路4核的变成1路8核,虚拟化环境下性能几乎没有任何差别,但是软件的授权费用就省了不少。

这个话题有点老了……
曾经看过一篇文,老外写的,他做过几种情况的实验,插槽数、核心数的不同,对性能还真有点影响。
VMWARE
在分配处理器的时候是从第一个物理处理器的第一个 Core 开始的,如果有 HT,那么一个 Core
还会被当成两个来用,譬如,如果给一个VM分配了 4 个核心,实际上是分配了 4 个线程给它,使用的是第一个 Socket 的第一、二个
Core(因为一个Core有两个线程),除非你指定它(虚拟机->编辑设置->资源->高级CPU),如下图:

据他的测试结果,性能相差最大有的40%还多(具体数据我忘记了)。他得出的结论是,如果可以的话,分配CPU给VM的时候尽量分配 M 个
Socket 配置1个 Core,如果操作系统不支持或软件授权不允许,那么就分配 1 个 Socket 配置 N 个 Core,最坏的情况是 M
个 Socket 配置 N 个 Core……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息