如何在虚拟环境中启用多个核心?
我使用Oracle VM VirtualBox Manager在虚拟环境中安装了Ubuntu,效果很好。
但是,我想启用多个内核 – 如下图所示,我的Windows机器有两个内核:
现在,当我在Ubuntu中运行lscpu
,我得到以下信息,显示只使用了1个核心:
我已经尝试更改虚拟框的设置以启用多个处理器,但它不允许我这样做,如下图所示:
如何在虚拟环境中启用多个核心(处理器)?
要在VM中启用多个CPU,还需要以下设置:
-
“常规设置”选项卡中的64位虚拟客户机硬件(适用于64位客户机)
-
在主板设置选项卡中启用I / O APIC
-
在“加速”选项卡中启用硬件虚拟化(VT-x / AMD-V)
请注意,如果在所有可用内核上运行VM,则在为CPU分配执行限制时可能会遇到更好的主机性能。
如果您尚未启用virtualbox 的热插拔CPUfunction,则只能在已关闭的计算机上更改内核数。
只有使用多个内核的软件才能提升客户端的性能。 只有这样才能为所有核心提供执行上限才有意义。
如果您的VM当前正在运行(或“已保存”),则无法更改该值。 首先关闭VM。
我正在研究一个multithreading程序,它在虚拟机上按顺序执行。 我遇到了类似的问题。 我修理了:
- 停止虚拟机或退出。
- 启动VMWare – >选择机器 – >单击系统 – >单击处理器 – >更改数字处理器。
- 启动虚拟机。
之前标准线程的std :: thread :: hardware_concurrency()返回1,但是在更改之后它返回虚拟机设置上的CPU数量。
现在,我能够成功地在VM上运行我的multithreading程序。