我有一块 Xeon E3-1230 处理器,它有 4 个物理核心,但具有超线程,因此在其上运行的操作系统有 8 个逻辑核心。
我安装了 VMware ESXi 并正在创建虚拟机以在其上运行。如果我希望虚拟机能够以最大性能运行,充分利用处理器,我应该将虚拟机配置为每插槽 4 个内核(因为这是底层机器上的物理内核数)还是每插槽 8 个内核(因为超线程有 8 个逻辑内核)?
答案1
正确答案是“这确实取决于情况”。vCPU 大小不仅仅是“更多核心 = 更好”的情况;您需要记住宽松的协同调度可能会导致您的系统运行显著地如果有多个 CPU,但只对其中一部分 CPU 施加压力,则速度会更慢。本质上是一样的擦鞋如果您已经将数据备份到磁带但无法足够快地提供数据以保持磁带旋转,那么您可能已经遇到此类问题。
ewwhite 的见解非常正确 - 从小处着手,然后根据需要添加更多 vCPU。对您的应用程序进行基准测试,亲自了解这些更改如何影响您的性能。
请记住,大多数服务器级操作系统都支持 CPU 热插拔;如果您不确定是否需要更多 CPU,但又不想因为启用它们而导致停机,则可以在 VM 选项中启用 CPU 热插拔(如果您的操作系统支持它)。
答案2
您的虚拟机将做什么?一般建议从小处着手,在虚拟机上配置一个或两个 vCPU,然后根据需要添加更多。就我个人而言,对于该 CPU,我不会为客户虚拟机分配超过 4 个 vCPU。
逻辑核心并不等同于真实核心。