Vmware核心处理器及内核数量相关概念
一、概要
在微软的官方文档中:https://www.vmware.com/cn/support/support-resources/pubs/ws_pubs.html
从微软提供的文档中,给出的建议模糊且过时,我们现在的笔记本通常都是4核8线程起步,而且在文档中“虚拟处理器”具体是只的什么,跟我们在设置中的处理器数量,每个处理器的内核数量,以及内核总数的关系。
二、分析及结果
内核总数=虚拟处理器=处理器数量X每个处理器的内核数量
内核总数也就是我们常见的4核8线程中的“线程”,因此在我们设置的过程中,内核总数不能高于实际物理cpu的总线程数。
问题一:处理器数量和每个处理器内核数量的含义是什么?
处理器数量指的就是物理处理器的数量,也就是你的cpu个数,大家的消费级电脑通常都是一个cpu,但服务器通常有多个cpu,因此VMware需要模拟那些有多个cpu的虚拟机,所以如果没有特殊需求建议这里大家在处理器数量这一栏通常填‘1’即可,而每个处理器的内核数量那一栏直接填写内核数量,这里通常建议不超过本机的50%,比如笔者的笔记本是8核16线程的,那么填写内核数量‘8’即可,最后内核总数就是‘8’。
分析及结论
a.先看本人设置对比
一个是设置1个处理器6个内核,另外一个是2个处理器3个内核,内核总数都是6个。
b.再看系统显示界面
可以明显看到在第二张图中出现了一个小括号,显示为两个处理器,这就表示本机存在两个cpu。
c.再看性能显示界面
可以看到两张图主要区别在于插槽数量这一栏,这也验证了上面所说的处理器数量就是模拟实际cpu数量,而内核数量就是线程数量(逻辑处理器=线程=内核)。
d.再看物理电脑性能显示界面
这里与虚拟机显示的区别是虚拟机只有虚拟处理器,而物理机则是‘内核’和‘逻辑处理器’,说明虚拟机与物理机在‘内核’这一概念是不同的,虚拟机的内核指的就是物理机逻辑处理器数量(线程),而物理机的‘内核’这一概念则在虚拟机中并不存在。然而问题并未结束,我们不仅好奇不同的设置对性能的影响,在同样都是6核的情况下究竟是1x6还是2x3性能更高?以及大家忽略的一个参数‘cpu频率’,我们注意到在物理机中cpu频率可以睿频到3.8GHz,而虚拟机中似乎只能使用基频1.8GHz运行,这样岂不是亏大了?
问题二:在同样都是6核的情况下1x6和2x3哪个性能更高?
我们采用比较权威的cpu评测软件cinebench R20来对两种设置进行性能评测,这样才能看出谁的性能更高,从而得出最佳设置
分析及结论
1x6设置跑分结果如下:
2x3设置跑分结果如下:
这里需要说明的是我们并非只跑过一次分,而是跑过多次,但由于时间问题,并没有足够的样本量,但我们还是选出具有代表性的进行截图展示,这里可以看出单核和多核跑分下,1x6的设置性能均略微高于2x3的设置性能,所以我们还是建议大家尽量使用前者的方式进行虚拟机的硬件设置。也就是处理器数量那一栏中默认填1,然后在内核数量中按照本机以及需求的内核总数进行设置即可
问题三:本机物理机能够睿频,而VMware虚拟机能不能睿频?
依据在上面的虚拟机性能显示界面和物理本机性能显示,我们可以看到本机能够睿频,而虚拟机似乎只能是基频运行,那么真的是这样吗?因此我们设置了这样一组对比实验,物理本机的单核 cinebench R20和虚拟机的单核cinebench R20对比(更为科学的应该是锁频来进行对比,但笔记本可操作性太差)
分析及结论
本机的cinebench R20跑分结果:
我们发现在这三张图的单核跑分差距并不大,安装理论1.8G的主频和3.4G的主频跑分差距无论如何也应该拉出巨大的差距,但结果却告诉我们1.8GHz的主频和3.4GHz的睿频能够跑出相同的分数,难道是眼花了?不不不,其实在VMware中的虚拟机实际上也能够睿频,但只能显示1.8GHz的基频,因为VMware是无法监视到底层的传感器,自然你也看不到真实的各类数据