Link to home
Start Free TrialLog in
Avatar of blue92lx
blue92lx

asked on

Processor setup/usage in Hyper-V

Hey everyone,

I'm not understanding how to properly setup the processors for the virtual machines in Hyper-V.  I've looked it up as much as I can and I don't seem to get a straight answer.  It seems like there's really no difference if I set up a server with 4 processors or 1 processor, or if I reserve a certain amount for the local processor for the virtual machine, etc.  What I don't understand though is that if I have a physical server with two quad core xeon's running 2 hyperv virtual servers each only using 1 processor what's the point?  Why not just buy a dual core CPU and call it a day.  

The flip side of that is if you setup an actual server on a physical box it needs those cores.  You can't efficiently run a physical server with 1 Processor.  

So if anyone can break that down for me it'd be hugely appreciated I've been trying to figure this out for a while now.

Thanks,
Adam
Avatar of kevinhsieh
kevinhsieh
Flag of United States of America image

You should start by assigning just 1 vCPU for a VM. The reason is that there is a performance hit to having multiple CPUs in an OS; this is why Windows 2003 and earlier had uni-processor and multi-processor HALs. If your VM needs more processing power than what 1 vCPU can provide (task manager shows CPU consistently above 90%) then add another vCPU as needed.

If you bought a dual quad core server for 2 VMs, you way over-bought on CPU. My dual socket dual core Xeon 5100 doesn't break a sweat running 10 VMs under 16 GB RAM on the host. Most CPU cores are mostly idle. Ditto for my other servers, which have up to 25 VMs and 144 GB RAM on dual socket, quad core systems. Most cores are mostly idle most of the time. Yes, you can probably run your two VMs on a single dual core processor just fine...good luck finding such a system these days.
Avatar of blue92lx
blue92lx

ASKER

Thanks for the reply.  No I didn't buy this server for my client, their last IT company did.  Not sure why.  I think it's just weird that in a VM you can use 1 processor efficiently for something like Small Business Server, but if you installed SBS on a single core physical server it would either crawl or not work.  

Does the 1 vCPU actually share resources across the multiple physical CPU's?  Just trying to get an understanding for how this works.  I mean it doesn't really make sense that you have 10 VMs running on 4 cores.  That's like installing a server using 1/4 processor for each server.
ASKER CERTIFIED SOLUTION
Avatar of kevinhsieh
kevinhsieh
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you!!  That's the exact explanation I've been looking for.  So basically if I issue one CPU it's only using one core but it's really anywhere on the physical cpu at anytime and is utilized as necessary.  I don't understand how there are no websites explaining this, I couldn't even find a solid explanation on Microsofts side.