Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

While I wait for the IT dept to set up the new hyper-V cluster, I'm reading up on virtual machines. It's a really simple question.

If I only have a single VM, with a single Virtual CPU, what is the maximum performance I can achieve? (minus tiny percentage points for overhead) It is equivalent to one physical core, or more than one physical core if there are idle cores.

I'm guessing it's up to one physical core. But usually less, if other VM's are time sliced with it.

http://blogs.technet.com/b/puneetvig/archive/2011/05/21/hyper_2d00_v_2d00_concepts_2d00_vcpu.aspx

In this confusing Q&A, it talk about about time sharing a physical CPU into many vCPU's but I don't see any talk about the ceiling performance.

edit- My application will take up 100% cpu on the VM for as many threads as there are vCPUs, so I'd like to know if I'm provisioned 80% of the resources, I would hit 50% of the usage of the physical machine. If I'm limited to 4 vCPUs on a 48 core machine, would I hit 80% ?

share|improve this question

migrated from stackoverflow.com Jan 17 '12 at 3:17

This question came from our site for professional and enthusiast programmers.

    
Down vote already? I'd research this more, but I can't test anything myself yet. –  Ben L Jan 16 '12 at 23:15
    
I was transferred here from SO. I think it's more of a server fault question. But I don't really have a vote on it. –  Ben L Jan 18 '12 at 17:06

3 Answers 3

up vote 2 down vote accepted

You are correct in that one virtual processor will equal one core. Hyper V will not split a thread up into multiple cores. Thus, if your physical machine has 2 quad core processors, the most virtual cores available to your VM will be eight. They are virtual, since the core is not exclusive to your VM.

However

Maximum performance from one core will depend only on the reserve given to your machine. If the max reserve given to your VM is 25%, then you'll only be able to utilize 25% of the host's CPU cycles.

There is a second setting called priority, which is more often used than reserve, since reserve doesn't work like most people think it does. Priority is the relative weight given to your VM. If a VM with more weight needs time to meet it's minimum reserve of CPU cycles, you get throttled.

share|improve this answer

If you want to utilize more CPU capacity on a multi-core system you might consider adding more cores to your VM's. This way you're sure you are using all available cores, even on Hyperthreading Multi-core multi-cpu servers.

How-to: http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

share|improve this answer
1  
Thanks for the link. This will work temporarily but it does create unexpected results in the management tools, like SCVMM. –  Ben L May 10 '12 at 15:50

All depends on how it is configured. It can be configured to use all the processing power or to prioriatize other vm's. If this is the only VM on the server there is no reason why all the cpu usage can't be allowed. (minus like you said the small overheads)

share|improve this answer
    
I'm trying to figure out the terminology so I can get the thing configured correctly. My question is about do I need to have more vCPU's in my VM to get more performance from the phyisical host? I think I do. The IT staff doesn't. –  Ben L Jan 16 '12 at 23:10
2  
if i remember right, you allow it to have so many virtual cpus or pysical cores and it can the use as much processing power from them cores you have allowed for it as needed. If you only give it 1 vCPU then it will be limited to only that one cpu. This is from what i remember from it but may be getting mixed up betweek ESXi –  user968808 Jan 16 '12 at 23:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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