In the setting of a virtual machine on Hyper-V server, you can see the options:
Virtual Machine Reserve:
This setting determines the percentage of CPU resources host server, which should be guaranteed by the virtual machine. If the host at the time of starting the virtual machine cannot guarantee, the virtual machine will not start. That means you can run 5 machines with Virtual machine including reserve of 20%, but if you try to add 6th machines- it will not run.
However, this setting will only be meaningful when there is a shortage of CPU resources. If 4 out of 5 machines are used by 4% per CPU of dedicated servers, and a fifth wants 70% – it will get them, but until such time as the rest do not require CPU resources. That is, setting up Virtual machine reserve ensures that the machine will have at its disposal resources not less than a specified percentage of the CPU – in the fight for CPU resources between the host machines.
By default, the Virtual machine reserve setting is 0. This means that you can run virtual machines as much as physically available resources allow the host Hyper-V server.
Virtual Machine Limit:
This setting is also given in percentages. It shows what the maximum possible percentage of CPU resources of virtual machine can use the power of virtual processors (depending on their number). This setting is used in two cases – when the host started the test of virtual machine that may under certain conditions, “eat” all the resources, as well as when the application in a virtual machine is written in a wry and can cause the processor load, brake the other machines.
This setting is always active, which means that the machine will never take more resources than a Virtual machine limit, even if free resources are many. Therefore, it should be put in exceptional cases, and to control resources better to use Virtual machine reserve. In addition, we must remember that Virtual machine limit is applied to multiple virtual CPU – so, if the application in the virtual will give the load to only one virtual processor – it will be limited to 50% of the resources available to him, while others are idle.
CPU Relative Weight:
This setting allows you to set the relative weight of virtual processors machine relative to other virtual machines. CPU relative weight – it’s just a number ranging from 1 to 10000, which defines the proportional weight of the machine relative to the others. In the case of a lack of CPU resources on the host Hyper-V, it will get twice the resources of CPU, than any other. Note – setting begins to work only in case of shortage of CPU resources on the host and not before.
The meaning of this setting is the separation of virtual machines in categories of priority use of resources in case of shortage (eg, 300 – high priority, 200 – normal, 100 – low). Since this is all relative value. And one more thing – if your virtual infrastructure is having several Hyper-V administrators, each of them can enjoy their own classification scales. For example, one is 100, 200 and 300, and another – 500, 1000 and 2000. If your host sets these values to each of them, and then any of the machine is dynamically moved to another host through the Live Migration – the distribution of weight changes much, which may affect the performance of systems with limited CPU resources of dedicated hosting server.
If we consider the question – why these values are in percentages and not in megahertz like VMware. The answer is – 1 GHz, has a different performance on different generations of CPU, and the hosts may have different processing power, making it preferable to use relative values instead of absolute.