Ubuntu – How to enable multiple cores in the virtual enviroment

12.04multi-coreoraclevirtualboxvirtualization

I've installed Ubuntu in a virtual environment using Oracle VM VirtualBox Manager and it works great.

However I'd like to enable multiple cores – as seen in the image below my Windows machine has 2 cores:

enter image description here

Now when I run the lscpu in Ubuntu I get the following info revealing that only 1 core is being utilized:

enter image description here

I've tried changing the settings of the virtual box to enable multiple processors but it won't allow me to do so as shown in the image below:

Image

How do I enable multiple cores (processors) in my virtual enviroment?

Best Answer

To enable more than 1 CPU in your VM the following settings are needed in addition:

  • 64-bit virtual guest hardware in General settings tab (for 64-bit guests)

    enter image description here

  • enable I/O APIC in the Motherboard settings tab

    enter image description here

  • enable hardware virtualization (VT-x/AMD-V) in the Acceleration tab

    enter image description here

Note that if your run your VM on all cores available you may experience a better host performance when assigning an execution cap to the CPU.

If you had not enabled hot-plug CPU feature of virtualbox changing of the number of cores can only be done on a machine that was shut down.

A performance boost in the guest is only to be expected for software that makes use of several cores. Only then giving all cores with an execution cap makes sense.