标题几乎说明了一切。我只是想知道这是否会对虚拟机处理事物的方式产生影响,以及一种方法是否比另一种方法更可取。
答案1
不,您的虚拟机应该执行相同的操作,并使用主机上的相同资源。这只是一个设计选择,主要是为了增加一些灵活性,您的操作系统或软件可能具有每个 CPU 许可要求。
每个插槽/核心代表主机上的一个物理核心。请记住,由于调度要求,更多核心不一定是好事。
答案2
核心/插槽选项的主要目的是为软件提供灵活性,该软件可能根据“物理”插槽或 CPU 核心的数量具有运行时或许可要求。
虽然单插槽多核和多插槽组合的性能没有区别,但是如果启用或需要虚拟机的 CPU 热添加功能,操作会略有不同。
使用 VMware CPU 热添加功能,您可以向正在运行的虚拟机添加插槽,但不添加额外的核心。虽然看起来很奇怪,但这是我在工作生产中遇到的问题,并且影响了我配置新 VM 的方式。
答案3
一般来说,它不会对性能造成太大影响。
足够复杂的操作系统可能根据(已填充的)插槽和核心的排列,改变其调度启发式方法(例如,将密切相关的线程放在同一个封装中的核心上,在某些芯片设计中,这可以提高核心之间共享缓存的使用效率)。在虚拟化设置中,任何差异都可能微不足道或完全没有意义,因为虚拟机管理程序会安排客户虚拟机的 CPU 访问,除非虚拟机管理程序在虚拟机之间/内部的核心调度方面也相当聪明。
正如 Dan 指出的那样,您应该对您的任务进行基准测试(以现实的方式:即与主机上的其他活动一起进行基准测试,而不仅仅是在仅运行相关 VM 的测试环境中),以确保多个 vCores/vCPU/两者实际上对其性能有益。访问核心的调度方式可能会带来延迟,从而抵消任何好处,实际上会使整体运行速度变慢 - 我见过报告称,对于具有大量 CPU 工作量的任务,同一主机上的一小群单核 VM 在相同硬件上的表现明显优于数量较少(“较小数量2 包括一个”)的多核 VM(当然,这可能会给主机带来更大的内存负载)。