Mastering Windows Server 2016 Hyper-V

(Romina) #1

Figure 3.39 Ensuring that VMQ is enabled for a virtual machine


To check which virtual machines are using VMQs and which processor core is
currently being used by the queue, you can use the Get-NetAdapterVmqQueue
PowerShell command. In the following example, you can see VM1, VM2, VM3, and
VM4: each has a queue and is running on a separate processor (core). The default
queue (SAVDALHV07, the hostname), which is used for traffic that is not handled by a
separate VMQ is running on the home processor, 0 . There is no way to force a virtual
machine to always be allocated a VMQ. The only way would be to make sure that
those virtual machines for which you want to have a VMQ are started first when the
host is started.


PS C:> Get‐NetAdapterVmqQueue


Name QueueID MacAddress VlanID Processor VmFriendlyName
—— ———-————— ———————-———————
VM NIC 0 0:0 SAVDALHV07
VM NIC 1 00–15–5D-AD-15–04 0:28 VM01
VM NIC 2 00–15–5D-AD-15–03 0:30 VM2
VM NIC 2 0 0:0 SAVDALHV07
VM NIC 2 1 00–15–5D-AD-15–05 0:32 VM3
VM NIC 2 2 00–15–5D-AD-15–06 0:20 VM4


You may wonder how VMQ works if you are using NIC Teaming, and the answer is
that it varies depending on the mode of NIC Teaming. Consider that it’s possible to
mix network adapters with different capabilities in a NIC team. For example, one NIC
supports 8 VMQs and another supports 16 VMQs in a two-NIC team. Two numbers
are important:


Min Queues  The lower   number  of  queues  supported   by  an  adapter in  the team.   In
my example, 8 is the Min Queue value.
Sum of Queues The total number of all queues across all the adapters in the
team. In my example, this is 24.
Free download pdf