So as a test in my lab, I changed a VM from 4 vCPU to 5 vCPU (adding one) and started up the VM. The CPU appears in DEV Manager but does not show up in Windows Task Manger. I rebooted, powered off etc. Is there something else that needs to be tweaked for the 5th to show up? Does 2008 not able to hand odd numbered CPU's?
Thanks!
Hi,
when working in vSMP environments the best practice is always begin with just a vCPU and if the guest need more CPU power then growing the number of vCPU in increments of just one vCPU.
You have to know that in some situations making a guest n x vCPU (more than one vCPU) can be not good. It can be worse.
There is some overhead when a n x vCPU guest because of the CPU scheduler. This overhead increases when the number of guest vCPU grows. But this is not the main issue that can arise in some situations.
For example, if you have 4 vCPU guest you have to think about that when the guest demands that 4 vCPU, this demand isn't satisfied until there is at least 4 idle cores (or hyper-threading) with concurrent idle cycles to schedule this guest. Think about a host with high cpu load. Then i think you are beginning to understand what i'm talking about
Then IMHO you should begin with just one vCPU and if the guest demands it, increase granularly the number of vCPU.
If this make the situation become worse, then you should begin to think about applying things like shares and a high one to this particular guest.
Regards/Saludos,
Pablo
Please consider awarding any helpful answer. Thanks!! - Por favor considera premiar las respuestas útiles. ¡¡Muchas gracias!!
@Borj_mari I started this VM with 2vCPU and it was pegged all day long (lots of heavy exe processes, custom apps). I moved it to 4vCPU and performance was better and at about 90% CPU all day long. I am starting to see even more volume increase and we may need to increase CPU to this VM. There are only two VM's on this host because of this VM's performance requirements. The other VM is a 2vCPU VM wtih relatively low (50%) CPU. I shouldnt have a problem adding another 2 vCPU to this host as that is still not over committing the cores available on the host.
Perhaps the guest is not really a good for virtualisation in the first instance.
By getting hit hard, I hope you were using the Virtual Center to monitor the performance of the VM and not windows task manager.
If Windows task manager is showing 100% utilization that means that ESX is not giving the VM any CPU time because you've oversubscribed your environment.
As indicated, you should have 95+% of all vm's running as single CPU to get the best performance and only very specific VM's should require or need SMP...
I am using a combination of Veeam monitor and vCenter to monitor the VM. So yes...this VM gets hit hard. On top of it being a 2008 Server (not great web performance and SMP performance to begin with) and only being 32bit and not 64bit I am sure doesnt help. This thing definitly uses what it is given, and is not a baby VM. In my entire 75 VM infrastructure, I have 70 1vCPU VM's and the 5 others are SMP's with 2 vCPU's. This is the only 4vCPU VM I am running and I think it shows its need for it if not more.