有人告诉我,我需要在 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 才能满足上述要求。