VMware中,vCPU的分配原则?

在应用使用多颗vCPU的时候,如何分配每颗插槽的CPU数量和插槽数,可以使CPU的性能得到最优化。显示全部

在应用使用多颗vCPU的时候,如何分配每颗插槽的CPU数量和插槽数,可以使CPU的性能得到最优化。

收起
参与44

查看其它 4 个回答Jerry Miku的回答

Jerry MikuJerry Miku  其它 , The Global 500

在物理主机上,每个物理CPU均对应若干内存,CPU可读写所有内存的数据,但对本身对应的内存做读写操作时性能最佳。
基于此,虚拟机在使用多个CPU时,可通过设置虚拟机CPU插槽,使虚拟机的CPU平均地由多个物理CPU提供,此时对单个物理CPU的压力较小,同时也能达到更佳的内存读写性能。
虚拟机CPU插槽数量即指定了虚拟机的多个CPU可平均分布到多少个物理CPU上。因此,虚拟机CPU插槽的数量必须能整除虚拟机的CPU个数。
对于一台虚拟机来说,一般推荐CPU插槽数:每插槽的内核数=1:2,高计算力的虚拟机可能达到1:4甚至更高。

假设一个简单的场景:
环境中每台主机拥有4颗8核的物理CPU,总物理核数为32个。
一个未设置CPU插槽的虚拟机,CPU数量为8个,则可能由主机上一个物理CPU的8个内核组成虚拟机的8个虚拟CPU;或可能由一个物理CPU提供5个内核,另一个物理CPU提供3个内核,一同组成虚拟机的8个虚拟机CPU,等等。
另一个虚拟机设置了CPU插槽数量为4,此时虚拟机的8个CPU平均地由主机上的4颗物理CPU提供,每个物理CPU提供2个内核,达到了最佳的计算性能。

IT其它 · 2018-05-17
浏览21719
  • 谢谢专家指点,基于这个问题,我还有个疑问,因为cpu热添加的时候,只能增加插槽数量,而不能改变每个槽内的cpu数量,当插槽数量增加至大于物理机的CPU插槽数的时候(物理机两个插槽,虚拟机分配了四个插槽),会影响CPU的表现吗? 同时热添加的时候,CPU增加的个数会受到物理每个插槽内CPU的数量的限制,比如虚拟机原始配置每个插槽4个CPU,热添加的时候,每添加一个插槽就会增加4个CPU,这样可能会造成一定量的CPU浪费。
    2018-05-17
  • Jerry Miku  Jerry Miku回复 linjh
    针对第一个问题,这种情况还需要考虑CPU的超线程技术,并非虚拟机vcpu插槽数=物理机实际CPU插槽数。针对第二个问题,在虚拟机部署前期就需要考虑这个问题,一般而言非数据库虚拟机,CPU的需求都不会很高,所以设计VCPU分配时需要考虑后续的扩容需求。若确实需要避免CPU资源浪费,只能停机修改配置。
    2018-06-03

回答者

Jerry Miku
其它The Global 500
擅长领域: 存储备份灾备

Jerry Miku 最近回答过的问题

回答状态

  • 发布时间:2018-05-17
  • 关注会员:8 人
  • 回答浏览:21719
  • X社区推广