我的处理器有 4 个物理核心。每个核心最多有 8 个虚拟核心。以下情况适用吗:
如果启用超线程,则 4x 2 = 8 个逻辑核心。这意味着 8 x 8 = 64 个最大虚拟核心
如果未启用超线程,则最大虚拟核心数为 4 x 8 = 32。 或者它总是4x8=32个虚拟核心?
答案1
您好,以下是一些有助于您理解的基本知识:
1. 物理核心越多,性能越好
。2. 单个物理处理器中的逻辑核心有助于处理器执行多任务,但与专用物理处理器相比效果并不更好
。3. 超线程是在单个物理核心中实现多核性能的过程
。4. 超线程不会增加逻辑核心,它们的实现已经由制造商固定
。5. 超线程允许 CPU 负载在核心中分配,如果需要更多分配,则使用时间分片、循环等不同技术在物理核心内划分负载
因此,如果您的 CPU 有 4 个物理核心,每个核心最多有 8 个逻辑/虚拟核心,那么它将始终是 4x8 = 32 个核心,
希望这会对您有所帮助。:-)
答案2
不是。在这种情况下,逻辑处理器和“虚拟核心”是一回事。如果启用超线程,则每个物理核心有两个逻辑处理器。因此,总共有八个逻辑处理器或八个虚拟核心,无论您想使用哪个术语。
如果没有超线程,每个物理核心只有一个 LP。
答案3
在 VM/虚拟机管理程序上下文中(考虑到 Azure VM):
虚拟机管理程序是负责为虚拟机分配计算资源的软件。假设我们有 2 种类型的主机处理器:
- 计算 A:具有 4 个物理核心的超线程处理器
- 计算 B:没有具有 4 个物理核心的超线程处理器
假设我们创建了 2 台虚拟机,1 台需要较少的计算能力(虚拟机 X),1 台需要更多的计算能力(虚拟机 Y)。
计算A:
- 虚拟机管理程序将 1 个物理核心分配给 VM X 作为 1 个虚拟核心
- VM X 获得 2 个逻辑核心,即 2 个 vCPU
- 因此,VM X 涉及 2 个 vCPU、2 个逻辑核心、1 个虚拟核心和 1 个物理核心
- 虚拟机管理程序将 2 个物理核心分配给 VM Y 作为 2 个虚拟核心
- 然后,VM Y 获得 4 个逻辑核心,即 4 个 vCPU
- 因此,虚拟机 Y 涉及 4 个 vCPU、4 个逻辑核心、2 个虚拟核心和 2 个物理核心
计算B:
- 虚拟机管理程序将 1 个物理核心分配给 VM X 作为 1 个虚拟核心
- VM X 获得 1 个逻辑核心,即 1 个 vCPU
- 因此,VM X 涉及 1 个 vCPU、1 个逻辑核心、1 个虚拟核心和 1 个物理核心
- 虚拟机管理程序将 2 个物理核心分配给 VM Y 作为 2 个虚拟核心
- 然后,VM Y 获得 2 个逻辑核心,即 2 个 vCPU
- 因此,虚拟机 Y 涉及 2 个 vCPU、2 个逻辑核心、2 个虚拟核心和 2 个物理核心
对于虚拟机来说,没有物理核心,只有虚拟核心(虚拟核心看起来就像物理核心,就像虚拟机本身看起来就像物理机器一样)。注意,这里我们假设 1 个物理核心作为虚拟机的 1 个虚拟核心。但是虚拟机管理程序可能会决定将 2 个物理核心和抽象的将它们作为虚拟机的 1 个虚拟核心(或者通常可以将 M 个物理核心抽象为 N 个虚拟核心)。然后根据超线程因素选择逻辑核心。
vCPU 的数量与虚拟核心(因此底层物理核心的数量)支持的逻辑核心数量相同。[来源:蔚蓝艾伦,虚拟机]
源文本(以防源超链接中断):