我的 Linux 机器有 32 个 vcore。
从lscpu
,我也可以看到同样的情况。
对于我的 CPU,“每核线程”为 2。
那么这是否意味着我实际上有 64 个 vcore?
答案1
在lscpu
输出中,“CPU(s)”行给出了逻辑 CPU(也称为线程)的总数。如果它在 VM 内运行,则为分配给 VM 的虚拟核心数,在本例中为 32。
提供的其他信息lscpu
提供了更多详细信息,并且最终应与逻辑 CPU 的数量匹配:“每个核心的线程”ד每个插槽的核心”ד插槽”。主机中的物理 CPU 的特性对 VM 中的虚拟 CPU 的特性没有太大影响,而且也没有太大影响。添加分配 - 如果您的主机 CPU 每个核心有两个线程,则不会增加虚拟机内分配的核心数。
答案2
如果您为 Linux 机器分配了 32 个 CPU 核心,并且每个核心有 2 个线程,那么您将拥有 64 个线程,但不是 64 个核心。
一般来说,一个核心一次只能运行线程,但现在大多数 CPU 支持超线程概念,其中 CPU 找到当前线程管道的空闲阶段来处理另一个核心,以定义更好的多处理。
但如果你的 Linux 机器是虚拟的,那么你的虚拟机将显示逻辑线程而不是机器中的核心。