Microsoft Windows – How do I configure network throttling with Hyper-V?

ANSWER: Hyper-V allows CPU and memory (with Windows Server 2008 R2 SP1) to be allocated to virtual machines (VMs) and minimum and maximum allocations configured to VMs along with memory weighting values. This means that, in times of contention, certain VMs can get resource allocation priority over VMs with lower memory weighting values.

Currently no Hyper-V method exists to restrict a VM to use only a certain percent or Mbps of a connected network on a virtual network. It’s not typically a major requirement from most Hyper-V installations. However, as we start to see 10Gbps links teamed together, more VMs may share a single virtual network, so limiting VMs to certain amounts in times of contention may be desirable.

The best option today would be to use Quality of Service (QoS) within the guest OS running in the VM and limit the outbound bandwidth. QoS can be configured via Group Policy to help ease the management.

To create a Group Policy setting to limit outbound bandwidth, do the following:

  1. Start the Group Policy Management console.
  2. Create a new GPO or edit an existing one.
  3. Navigate to Computer Configuration, Policies, Windows Settings, Policy-based QoS.
  4. Select the Create New Policy action.
  5. Enter a name for the policy such as Outbound Limit 64MBps (512 Mbps), select the Specify Outbound Throttle Rate check box, and enter your value (e.g., 64). Note: This is megabytes not megabits, so whatever number you’re thinking in megabits, divide by eight to get megabytes. (See Figure 1 below.)
Leave the defaults for all other screens for all IP addresses and for all ports. However, change the protocol the policy applies to with the "TCP and UDP" option then click Finish.
You would then apply this Group Policy Object to the computers that should have this specific bandwidth throttling in place.