VirtualBox – Why Does VirtualBox Show More CPUs Than Available

cpuintel-core-i7multi-corevirtual machinevirtualbox

I have an Intel Core i7 3930K with 6 CPU cores. Now, I understand that every of that cores can handle 2 separate threads. That makes 12 virtual cores – which I can see using my system monitor (see screenshot below).

But when I create a virtual machine using the VirtualBox software from Oracle, I suddenly can allocate 24 CPUs to that machine. How so?

enter image description here

So, what does that mean? Are there actually 24 cores – or is VirtualBox wrong?

And what happens if I allocate for example 4 cores – how many are really added to the virtual machine?

Best Answer

One core, with or without hyper-threading, can simulate any number of virtual cores, simply by timeslicing. However, this produces all kinds of problems because the operating systems expect that code running at the same time will actually interleave. Overprovisioning can lead to performance drops so great the system can appear frozen with operations literally taking thousands of times longer than they should.

Related Question