长答案:

长答案:

我有一台 Intel Core i7 3930K,有 6 个 CPU 核心。现在,我知道每个核心都可以处理 2 个独立线程。这样就有 12 个虚拟核心 - 我可以使用系统监视器看到(见下面的屏幕截图)。

但是当我使用 Oracle 的 VirtualBox 软件创建虚拟机时,我突然可以分配24 个 CPU到那台机器。怎么会这样?

在此处输入图片描述

那么,这是什么意思呢?实际上有 24 个核心吗?还是 VirtualBox 错了?

如果我分配例如 4 个核心,会发生什么情况 - 虚拟机中实际添加了多少个核心?

答案1

一个核心,无论是否具有超线程,都可以通过时间分片模拟任意数量的虚拟核心。然而,这会产生各种问题,因为操作系统认为同时运行的代码实际上会交错。过度配置会导致性能下降,以至于系统看起来停滞不前,操作时间实际上比应有的时间长了数千倍。

答案2

如果您分配 4 个核心,则虚拟机中会有 4 个核心。但是,几乎大多数情况下,您最好只分配 1 个核心,因为每次添加另一个核心都会增加很多开销。

您的机箱中最多可以有 5 个核心,如果超过这个数字并进入红色区域,您的虚拟机就会变得不稳定。

Virtual Box 建议您使用的最大核心数应为物理核心数的 n-1。超线程不计算在内。

虚拟盒论坛上的这个主题支持这一点。

答案3

在我的测试中,在 4 核 8 线程处理器中使用 8 个 CPU 中的 6 个比使用 8 个 CPU 中的 4 个要快,尽管 VirtualBox 警告我可能会出现性能下降。
所以我认为 VirtualBox 可以防止新手抱怨速度慢而自找麻烦,而作为超级用户,您可能会忽略这个警告。

长答案:

我有英特尔酷睿 i7-2820QM具有 4 个内核和 8 个线程。我有 Virtual Box 5.2.6,以及 Windows 10 主机和客户机。

设置 6CPUVirtual Box Guest 设置中的 8 给出了以下值用户基准

多核

MC 国际 307
MC 浮筒 326
MC 混合 315
47% 316 分


四核

QC 国际 270
QC 浮标 272
质量控制混合 268
61% 270 分

CPU-Z:

在此处输入图片描述

设置4 CPU

用户基准

多核

MC 国际 260
MC 浮标 269
MC 混合 269
40% 266 点

四核

QC 国际 260
QC 浮标 264
魁北克混合 262
59% 262 分

CPU-Z:

1108 4.21 6

笔记:

测试运行期间没有发生热节流(100 摄氏度时发生):

997 3.37 4

答案4

处理器 i7 3930K 具有 VT-x。

英特尔® 虚拟化技术 (VT-x) 允许一个硬件平台充当多个“虚拟”平台。它通过限制停机时间提供更好的可管理性,并通过将计算活动隔离到单独的分区来保持生产力。

这意味着您可以模拟比它可以处理的线程更多的 CPU,从而在使用虚拟机时可以看到更多的可用 CPU。

相关内容