-1

We have a server, running Windows Server 2016 with 4 physical cores (8 hyperthreads) and has Hyper-V installed.

Now, let's say that there are two VMs, each configured in Hyper-V to have a certain number of cores X. Let's say that each of those VMs is under very high load - 80% to 100% CPU load.

If I want to safely preserve a margin for the host to stay healthy so that I can remote desktop to the server to manage it, what is the maximum number of cores I can assign to each VM in Hyper-V? Do I need to leave one core "free" so that the host stays stable/accessible? If so, can I leave a partial core free instead of a whole core?

Is there a separate setting to specify how much CPU should be preserved for the host machine?

Also, in Hyper-V does one core mean one physical core (of which there are 4 in this example) or one logical core (of which there are 8 in this example)?

Any help with this is greatly appreciated.

serverAdmin123
  • 230
  • 3
  • 18
A X
  • 469
  • 4
  • 10
  • 31

1 Answers1

2

Do I need to leave one core "free" so that the host stays stable/accessible?

No. See, the "host" is a VM. And that particular master VM has a higher priority than any other VM's.

If so, can I leave a partial core free instead of a whole core?

Given that assigned core counts are all INTEGER, how would you even ENTER a non integer number?

TomTom
  • 51,649
  • 7
  • 54
  • 136
  • OK got it - so basically you are saying Microsoft has taken care of this already and assigned a higher priority - this is not something I need to manually configure, is that right? Re: your second question: In Docker you can assign less than one core so I thought maybe Hyper-V could do less than one as well. – A X Jun 04 '19 at 03:15
  • Exactly. THis is one reason NOTHING (except backup, measurement etc.) should ever be installed on a hyper-v server... it runs with higher priority and can starve the VM's. – TomTom Jun 04 '19 at 04:42