物理多核 CPU 与 vCPU 有何关系

物理多核 CPU 与 vCPU 有何关系

有人告诉我,我需要在 Windows Server 2022 机箱上托管的第三方应用程序需要 3 个 8 核 CPU,但我的企业云配置服务(内部工作)以 vCPU 为单位指定计算能力。

多核 CPU 和 vCPU 之间有什么关系?

答案1

vCPU 是虚拟化中用于资源分配的抽象概念。当虚拟机运行时,vCPU 实际上会映射到真实的 CPU 核心,虚拟化/时间分片机制会根据需要将真实的 CPU 处理能力分配给虚拟机。

一般而言,虚拟化和服务器整合平台应致力于实现工作负载分配,以便所有客户机在需要时获得所需的资源。在这种情况下:

1 个虚拟 CPU(分配给客户机/虚拟服务器)等于虚拟机管理程序中的 1 个 CPU 核心。

在许多情况下,并非所有虚拟机都会同时以峰值 CPU 负载运行,也不会一直以峰值 CPU 负载运行。这允许一定程度的“过度配置”,即为虚拟服务器分配比虚拟机管理程序中实际存在的核心更多的 vCPU。

当其按预期工作时:当这是虚拟机所需的资源量时,1 个虚拟 CPU 核心仍然等于虚拟机管理程序中的 1 个 CPU 核心。

当它不能按预期工作并且虚拟机管理程序(严重)超载时,就会发生资源争用,有时称为 CPU 窃取时间,并且虚拟化软件会启动。然后,虚拟机将获得比整个核心更少的每个 vCPU 资源,而不是完整核心的功能。


请注意,在我看来,供应商对其应用程序的硬件要求通常完全不切实际。这些要求通常严重不足或过高。

最低要求通常是

  • 有了这些规格,应用程序安装程序就可以完成并且应用程序可以启动。

意思是

  • 一旦开始加载数据并应用实际负载,你将需要立即扩大规模

或者

  • 这些是我们超大、强大的测试服务器的规格
  • 我们知道我们的应用程序在测试服务器上永远不会遇到问题
  • 因此,客户至少也应该获得类似的设置

在大多数虚拟化设置中,你可以轻松分配额外的资源,因此最初为你的虚拟机分配合理数量的资源(不是供应商要求的 3 x 8 核 = 24 vCPU,而是很多较低的数字),并在需要时扩大规模并分配更多资源

答案2

需要 3 个 8 核 CPU

在物理世界中,“CPU”通常指的是已填充 CPU 插槽. 三个 CPU,每个 CPU 有 8 个核心,一共是 24 个核心。

虚拟世界中的“vCPU”是指虚拟化的 CPU 核心。您需要 24 个 vCPU 才能满足上述要求。

相关内容