请选择 进入手机版 | 继续访问电脑版

VMWare虚拟机处理器数量与每个处理器内核数量概念,以及分配CPU资源详解

[复制链接]
丁翼 发表于 2021-1-2 18:58:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
VMWare虚拟机处置处罚器数量与每个处置处罚器内核数量概念,以及分配CPU资源详解



概念


处置处罚器数量:虚拟机上的CPU个数(上图中的插槽数,是呆板主板上CPU的个数,并非CPU的物理焦点数
每个处置处罚器的内核数量:每个虚拟的CPU有几个内核(可以看到虚拟机内部并不区分物理焦点数和线程数)
处置处罚器内核总数:处置处罚器数量 * 每个处置处罚器的内核数量(即物理机分配给虚拟机的CPU线程数,只要该参数一样,不管上面两个参数怎么调解整机性能都是一致的)
以上3个参数的上限由【当前要安装的目标操纵系统所支持的CPU最大个数、物理机CPU线程总数、VMWare版本所支持的虚拟机最大焦点数】三者中的短板决定



CPU的物理焦点和超线程

问题:现有一台CPU为12核24线程的物理机(该CPU正常发挥水平),要使得目标虚拟机至多拥有其50%的CPU性能,该怎么分配?
错误回复:分配CPU资源时,使“处置处罚器内核总数”即是12就行。
如果将问题中的CPU换为24核24线程,那这个回复就是正确的。(所以你的CPU如果没有超线程,那么文章到这里就竣事了~笑)
超线程的性能并不即是两个CPU的性能,多出的线程能提供多少性能取决于CPU的架构。(多出的线程性能可用CPU性能测试工具测出)
操纵系统在调用有超线程技能的CPU处置处罚多核应用时,优先调用物理焦点(物理线程),当所有的物理焦点占满后再调用超线程技能提供的线程。
比如问题中的CPU有24个线程,此中物理线程为A1–A12,虚拟线程为B1–B12,A1与B1同属于一个焦点,当A1占满后,操纵系统会优先调用A2而不会调用B1。当A1–A12都占满后,才会调用B1–B12(实际调用情况大概不是如此,但是展现出来的算力可以依此体现),所以分配12个线程很大概会出现远超50%性能的情况。

上图就是12核24线程的5900X跑CPU-Z的分数,可以看到其多线程倍率(总线程得分/单核单线程得分)并不是24大概靠近24的值,而是远低于24的14.xx。也就是说这颗处置处罚器多出来的线程只增加了(14.73-12)/12=22.75%的性能(但这并不是准确的,请看下面)。

CPU的睿频机制


现在4C8T起步的主流CPU都有睿频机制,在CPU只占用少数焦点的情况下把一个或是几个焦点举行频率加快。

上图出现的CPU频率差异会导致全核状态下的CPU多线程倍率比实际偏低,所以要想得出准确的倍率需要先将CPU频率锁定。
两种锁定CPU频率办法:
1、通过Windows控制面板中的电源选项使更改“最小/最大处置处罚状态”,使其小于100%
2、通过主板BIOS举行锁频
第二种方法由于差异品牌主板BIOS调治步调不一致,所以这里先容第一种方法


设置完后,运行CPU-Z,先勾选与自己CPU焦点数一样的线程数举行测试,验证线程倍率是否≈焦点数量,如果低于,那需要将“最小/最大处置处罚状态”再次低落。

如上图,11.68≈12,所以接下来勾选全部线程举行跑分

最后得到多线程倍率为15.69,若要使虚拟机得到50%性能,则需要分配15.69*0.5≈8个线程。

验证:上图右边为分配了8个线程的虚拟机,4993.7/9664.1≈51.7%
总结

对于没有超线程的CPU:分配给虚拟机的线程数=目标性能比率 * 物理机线程总数
对于有超线程的CPU:分配给虚拟机的线程数=目标性能比率 * 物理机多线程倍率(有睿频技能的CPU需要通过固定频率得到准确的多线程倍率)

PS:这里的目标性能比率为【虚拟机至多拥有的CPU性能/物理CPU机性能】

来源:https://blog.csdn.net/BlackReimu/article/details/112061501
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )