I just converted a physical Windows XP x64 machine with 4 CPUs to a VMWare virtual machine with 4CPUs (on a ESX server) using the VMWare Standalone Converter.

Everything worked just great, except that the OS now seems to use only 2 CPUs (when 4 are installed, see the following image). This must be a Windows XP issue rather than a VMWare issue, but I can not really rule out any reason at this stage.

Device Manager vs. Task Manager

What can I do?

link|improve this question

50% accept rate
feedback

4 Answers

up vote 6 down vote accepted

you can also create one vCPU with 4 cores, check out: http://www.yellow-bricks.com/2009/06/04/per-processor-licenses-for-your-application/

link|improve this answer
That's a seriously good answer. – Chopper3 Oct 4 '10 at 11:22
Thanks ! The original link is here: kb.vmware.com/selfservice/microsites/… – Mac Oct 4 '10 at 15:13
feedback

Are you using SP2? prior to that XP wouldn't support more than two CPUs. Even with SP2 XP will only support what it sees as two CPU sockets - so your third and fourth vCPUs would need to be seen by XP as cores of one or two CPUs.

link|improve this answer
Exactly so: support.microsoft.com/kb/888732 – Chris Thorpe Oct 4 '10 at 8:06
1  
You are right: it seems XP supports any number of cores it, but is limited in the number of processors. My physical machine had 2 dual core processors, thus 4 CPUs were seen. – Mac Oct 4 '10 at 8:13
feedback

Don't forget that VMware guests can quite easily run more slowly with >1 vCPU, especially if the guest/core ratio is high, or the CPU load is high. For example, a CPU instruction on a dual-CPU guest has to be queued by the hypervisor until two physical cores are available. I've seen this effect in a production environment, where a P2V'd Oracle server guest, with 2 vCPUs runs more slowly than when running with 1 vCPU. Just thought I'd pop that one in there.

link|improve this answer
feedback

VMware has stated that a VM no longer is required to lock two CPUs to use the CPU if two CPUs are assigned to the VM. The Vkernal is able to assign a single CPU and give it process time until both become avaliable.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.