为 Virtualbox 虚拟化 32 位 Ubuntu 添加第二个处理器

为 Virtualbox 虚拟化 32 位 Ubuntu 添加第二个处理器

在我的 4 处理器服务器上,我已经有一段时间使用 Ubuntu 32 位虚拟机了。我给它一个处理器,但现在我需要更多功能。我在 Virtualbox 设置中添加了第二个,但虚拟化的 Ubuntu 仍然认为它只有一个处理器:

cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 15
model name  : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping    : 11
cpu MHz     : 2405.790
cache size  : 6144 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 5 
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc up pni ssse3 lahf_lm
bogomips    : 4811.58
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

有没有办法让我的虚拟化 Ubuntu 机器能够感知第二个处理器?

答案1

Virtualbox 文档中有一节关于CPU 热插拔。这详细介绍了向 Linux 客户机添加另一个 CPU 的过程。

对于 Linux 客户机,适用以下规定:为了防止在 CPU 仍在使用时弹出,必须先将其从客户机内部弹出。Linux 客户机附加组件包含一个接收热移除事件并弹出 CPU 的服务。此外,在将 CPU 添加到 VM 后,Linux 不会自动使用它。如果安装了 Linux 客户机附加组件服务,它将负责处理此问题。如果没有,可以使用以下命令启动 CPU:

echo 1 > /sys/devices/system/cpu/cpu<id>/online

已知限制页面列出了 32 位客户机的 SMP 功能的一些缺点。主要是性能问题:

在某些不包含虚拟 APIC 硬件优化支持的 Intel CPU 型号上,32 位客户机的性能较差。这主要影响 Windows 和 Solaris 客户机,但也可能影响某些 Linux 内核修订版。3.0.12 版已针对 32 位 Windows NT、2000、XP 和 2003 客户机部分解决了该问题。需要安装 3.0.12 或更高版本的客户机附加组件。

它并没有说多处理是不可能的。

相关内容