什么是 vCPU

虚拟中央处理器 指的是 虚拟中央处理器 虚拟处理器 ,它是分配给特定虚拟机 (VM) 的底层物理 CPU 的一部分或份额。 在大多数情况下,它不是一对一的分配。

所以,您可能想知道如何计算 vCPU 到 CPU 或 CPU 到 vCPU。 我将在本文中进行解释。 但在此之前,让我们回顾一些相关术语。

虚拟中央处理器

什么是中央处理器

(物理)CPU 是执行计算机程序中指令指定的基本算术、逻辑、控制和输入/输出 (I/O) 操作的电子电路。

大多数现代 CPU 都是在集成电路 (IC) 微处理器上实现的,在单个 IC 芯片上有一个或多个 CPU。 具有多个CPU的微处理器芯片称为多核处理器。 各个物理 CPU、处理器内核也可以进行多线程处理以创建 vCPU。

什么是核心

(物理)核心 是 CPU 的处理器。 与过去每个处理器只有一个内核不同,现代 CPU 往往有多个内核,每个内核可以处理不同的任务。 简单来说,CPU的核数越多,效率越高。

逻辑核心 :由于物理CPU和物理核心是实际的硬件组件,因此逻辑核心是一个概念。 为了更有效地利用物理内核,Intel CPU 上的超线程技术(或 AMD CPU 上的同步多线程技术)将物理内核拆分为虚拟内核。

逻辑核心的计算方法是物理核心数乘以每个核心上可以运行的线程数。 例如,如果您的 CPU 有 2 个物理内核,并且每个内核可以运行 2 个线程,那么您就有 4 个逻辑内核。

VMware vCPU vs Core :很多用户都有这样的疑问,比如1个vCPU有多少核。 从表面上看,通常假设 1 个 vCPU = 1 个物理 CPU 核心。 但这并不完全正确,因为 vCPU 是由所有可用物理内核的时隙组成的,所以通常 1 个 vCPU 实际上比单个内核更强大。

什么是线程

线程 是一小段编程指令,将物理内核划分为多个虚拟内核,以允许在计算机上进行多任务处理。 物理内核通常有 2 个线程。

vCPU 是如何工作的

VM 的 vCPU 数表示 VM 在任何给定时刻可以运行的最大线程数。

使用管理程序创建 VM 时,系统会要求您指定 VM 的 vCPU 数量。 并且分配给 VM 的 vCPU 数量不能超过主机中逻辑核心的数量。

Hypervisor 将一部分物理 CPU 计算资源分配给特定 VM 的 vCPU。 每个 vCPU 都被 VM 的操作系统视为单个物理 CPU 内核。

如何计算 vCPU 到 CPU

正如我所提到的,CPU 与 vCPU 的比例一般不是 1:1。实际上,一台主机可以分配多少个 vCPU 是由制造商决定的。 它的计算方法是将芯片组为每个内核提供的处理线程数乘以占用的插槽数:

(线程 x 内核)x 物理 CPU = vCPU 数量

例如,一个 8 核/16 线程 CPU 有(16 线程 x 8 核)x 1 CPU = 128 个 vCPU

然而,vSphere 虚拟化的主要优势之一是超额订阅的能力。 对于 vSphere 6.0,每个物理核心最多有 32 个 vCPU,vSphere 管理员最多可以为单个主机上的虚拟机分配 4,096 个 vCPU。

但是,每个内核实际可实现的 vCPU 数量取决于硬件的工作负载和细节。 诸如 CPU 耗尽之类的事情会降低 VM 性能,因此可以分配给 VM 的 vCPU 数量是有限制的。

vCPU 与 CPU 的推荐比例范围为 1:1 到 3:1。 使用 3:1 到 5:1,您可能会开始看到性能下降,6:1 或更高通常会导致 VM 性能出现严重问题。

vCPU 与 CPU 比率

概括

当要求您指定 VM 的 vCPU 数量时,您可能会感到困惑。 要计算vCPU与CPU的比例,首先需要了解什么是vCPU、CPU、物理核心、逻辑核心、线程。

在本文中,我介绍了它们是什么以及如何计算 CPU 与 vCPU 的比率。 但是,为避免 VM 性能下降,建议分配给 VM 的 vCPU 数量有限制。