Ressourcensteuerung für virtuelle Computer

Gilt für: Windows Server 2022, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019

In diesem Artikel werden Hyper-V-Ressourcen- und -Isolationssteuerungen für virtuelle Computer beschrieben. Diese Funktionen, die im Folgenden als „VM-CPU-Gruppen“ oder einfach nur „CPU-Gruppen“ bezeichnet werden, wurden in Windows Server 2016 eingeführt. Mit CPU-Gruppen können Hyper-V-Administrator*innen die CPU-Ressourcen des Hosts besser verwalten und virtuellen Gastcomputern zuordnen. CPU-Gruppen ermöglichen Hyper-V-Administrator*innen Folgendes:

  • Erstellen Sie Gruppen virtueller Computer, und weisen Sie jeder Gruppe unterschiedliche Zuordnungen der gesamten CPU-Ressourcen des Virtualisierungshosts zu, die für die gesamte Gruppe freigegeben sind. So können Hostadministrator*innen Dienstklassen für verschiedene Arten von VMs implementieren.

  • Legen Sie CPU-Ressourcenlimits für bestimmte Gruppen fest. Diese „Gruppenobergrenze“ legt den oberen Grenzwert für Host-CPU-Ressourcen fest, die von der gesamten Gruppe genutzt werden können, und erzwingt effektiv die gewünschte Dienstklasse für diese Gruppe.

  • Schränken Sie eine CPU-Gruppe ein, sodass diese nur mit einem bestimmten Satz Hostsystemprozessoren ausgeführt werden kann. Auf diese Weise können VMs voneinander isoliert werden, die zu verschiedenen CPU-Gruppen gehören.

Verwalten von CPU-Gruppen

CPU-Gruppen werden über den Hyper-V-Host Compute Service (HCS) verwaltet. Eine lesenswerte Beschreibung des HCS, seine Entstehung, Links zu den HCS-APIs sowie vieles mehr finden Sie im Blog des Microsoft-Virtualisierungsteams im Beitrag Introducing the Host Compute Service (HCS).

Hinweis

Zum Erstellen und Verwalten von CPU-Gruppen kann nur der HCS verwendet werden; die Verwaltungsschnittstellen Hyper-V Manager-Applet, WMI und PowerShell unterstützen keine CPU-Gruppen.

Microsoft hat im Microsoft Download Center das Befehlszeilenprogramm „cpugroups.exe“ bereitgestellt, das die HCS-Schnittstelle zum Verwalten von CPU-Gruppen verwendet. Dieses Hilfsprogramm kann auch die CPU-Topologie eines Hosts anzeigen.

Funktionsweise von CPU-Gruppen

Die Zuordnung von Hostcomputeressourcen über CPU-Gruppen hinweg wird vom Hyper-V-Hypervisor erzwungen, wobei eine berechnete CPU-Gruppenobergrenze verwendet wird. Die CPU-Gruppenobergrenze ist ein Bruchteil der gesamten CPU-Kapazität für eine CPU-Gruppe. Der Wert der Gruppenobergrenze hängt von der Gruppenklasse bzw. der zugewiesenen Prioritätsstufe ab. Die berechnete Gruppenobergrenze kann als „CPU-Zeit, die einer bestimmten Anzahl logischer Prozessoren entspricht“ betrachtet werden. Dieses Gruppenbudget ist freigegeben. Wenn also nur eine einzelne VM aktiv ist, kann sie die CPU-Zuordnung der gesamten Gruppe für sich nutzen.

Die CPU-Gruppenobergrenze wird wie folgt berechnet: G = n × C. Dabei gilt:

  • G ist die Menge an logischer Prozessorzeit des Hosts, die der Gruppe zugewiesen werden soll.
  • n ist die Gesamtanzahl von LPs in der Gruppe
  • C ist die maximale CPU-Zuordnung – also die für die Gruppe gewünschte Dienstklasse, ausgedrückt als Prozentsatz der Gesamtcomputekapazität des Systems.

Betrachten Sie beispielsweise eine CPU-Gruppe, die mit 4 logischen Prozessoren (LPs) und einer Obergrenze von 50 % konfiguriert ist.

  • G = n × C
  • G = 4 × 50%
  • G = Menge an CPU-Zeit für die gesamte Gruppe, die 2 LPs entspricht

In diesem Beispiel wird der CPU-Gruppe G CPU-Zeit im Wert von 2 LPs zugewiesen.

Beachten Sie, dass die Gruppenobergrenze unabhängig von der Anzahl virtueller Computer oder virtueller Prozessoren gilt, die an die Gruppe gebunden sind. Sie gilt ebenfalls unabhängig vom Zustand (z. B. „Heruntergefahren“ oder „Gestartet“) der virtuellen Computer, die der CPU-Gruppe zugewiesen sind. Daher erhalten alle VMs, die an ein und dieselbe CPU-Gruppe gebunden sind, einen Bruchteil der gesamten CPU-Zuordnung der Gruppe, und dieser Bruchteil ändert sich mit der Anzahl der VMs die an die CPU-Gruppe gebunden sind. Wenn also VMs an eine CPU-Gruppe gebunden werden oder ihre Bindung an die Gruppe aufgehoben wird, muss die gesamte CPU-Gruppenobergrenze angepasst und neu festgelegt werden, um die gewünschte Obergrenze pro VM beizubehalten. Die VM-Hostadministrator*innen oder die Schicht der Virtualisierungsverwaltungssoftware sind für die Verwaltung von Gruppenobergrenzen nach Bedarf verantwortlich, um die gewünschte CPU-Ressourcenzuordnung pro VM zu erreichen.

Beispiele für Dienstklassen

Sehen wir uns einige einfache Beispiele an. Nehmen wir für den Anfang an, dass eine Hyper-V-Hostadministratorin zwei Dienstebenen für Gast-VMs unterstützen möchte:

  1. Eine niedrige Ebene C. Diese Ebene erhält 10 % der gesamten Computeressourcen des Hosts.

  2. Eine mittlere Ebene B. Dieser Ebene werden 50 % der gesamten Computeressourcen des Hosts zugeordnet.

Wir nehmen in unserem Beispiel an diesem Punkt an, dass keine anderen CPU-Ressourcensteuerungen verwendet werden, wie etwa einzelne VM-Obergrenzen, -Gewichtungen und -Reserven. Einzelne VM-Obergrenzen sind jedoch wichtig, wie wir etwas später sehen werden.

Der Einfachheit halber nehmen wir auch an, dass jede VM über 1 VP (virtueller Prozessor) verfügt und unser Host 8 LPs aufweist. Wir beginnen mit einem leeren Host.

Zum Erstellen der Ebene B legt die Hostadministratorin die Gruppenobergrenze auf 50 % fest:

  • G = n × C
  • G = 8 × 50%
  • G = Menge an CPU-Zeit für die gesamte Gruppe, die 4 LPs entspricht

Die Hostadministratorin fügt eine einzelne VM der Ebene B hinzu. An diesem Punkt kann unsere VM der Ebene B höchstens 50 % der CPU des Hosts bzw. das Äquivalent von 4 LPs in unserem Beispielsystem verwenden.

Nun fügt die Administratorin eine zweite VM der Ebene B hinzu. Die CPU-Gruppenzuordnung wird gleichmäßig auf alle VMs verteilt. Wir haben insgesamt 2 VMs in Gruppe B, daher erhält jede VM jetzt die Hälfte von 50 % – der Gesamtmenge der Gruppe B –, also jeweils 25 % bzw. das Äquivalent der Computezeit von 2 LPs.

Festlegen von CPU-Obergrenzen auf einzelnen VMs

Zusätzlich zur Gruppenobergrenze kann für jede VM auch eine individuelle VM-Obergrenze festgelegt werden. CPU-Ressourcensteuerungen pro VM, einschließlich CPU-Obergrenze, -Gewichtung und -Reserve, gehören seit der Einführung zu Hyper-V. In Kombination mit einer Gruppenobergrenze gibt eine VM-Obergrenze die maximale CPU-Menge an, die jeder VP (virtueller Prozessor) abrufen kann, auch wenn in der Gruppe mehr CPU-Ressourcen verfügbar sind.

Beispielsweise kann die Hostadministratorin eine VM-Obergrenze von 10 % für die VMs der Ebene C festlegen. Auf diese Weise kann jeder VP nie mehr als 10 % nutzen, auch wenn die meisten VPs der Ebene C sich im Leerlauf befinden. Ohne VM-Obergrenzen könnten VMs der Ebene C opportunistisch eine Leistung oberhalb der für ihre Ebene zulässigen Menge erreichen.

Isolieren von VM-Gruppen auf bestimmten Hostprozessoren

Hyper-V-Hostadministrator*innen möchten möglicherweise auch in der Lage sein, Computeressourcen dediziert einer VM zuzuweisen. Stellen Sie sich beispielsweise vor, eine Administratorin möchte eine Premium-VM der Klasse A anbieten, für die eine Klassenobergrenze von 100 % gilt. Diese Premium-VMs erfordern auch möglichst wenig Zeitplanungslatenz und -jitter – anders ausgedrückt: Ihre Zeitplanung soll nicht von einer anderen VM außer Kraft gesetzt werden. Um eine solche Trennung zu erreichen, kann eine CPU-Gruppe mit einer bestimmten LP-Affinitätszuordnung konfiguriert werden.

Um beispielsweise eine VM der Ebene A auf den Host in unserem Beispiel anzupassen, würde die Administratorin eine neue CPU-Gruppe erstellen und die Prozessoraffinität der Gruppe auf eine Teilmenge der LPs des Hosts festlegen. Für die Gruppen B und C würde die Affinität auf die verbleibenden LPs festgelegt. Die Administratorin könnte eine einzelne VM in Gruppe A erstellen, die dann exklusiven Zugriff auf alle LPs in Gruppe A hat, während die vermutlich niedrigeren Gruppen B und C sich die verbleibenden LPs teilen würden.

Trennen von Stamm-VPs von Gast-VPs

Standardmäßig erstellt Hyper-V einen Stamm-VP für jeden zugrunde liegenden physischen LP. Diese Stamm-VPs sind strikt 1:1 den System-LPs zugeordnet und werden nicht migriert – jeder Stamm-VP wird also immer im selben physischen LP ausgeführt. Gast-VPs können in allen verfügbaren LPs ausgeführt werden und teilen sich die Ausführung mit Stamm-VPs.

Es kann jedoch wünschenswert sein, die Aktivitäten der Stamm-VPs vollständig von denen der Gast-VPs zu trennen. Betrachten Sie unser Beispiel oben, in dem wir eine Premium-VM der Ebene A implementiert haben. Um sicherzustellen, dass die VPs der VM der Klasse A möglichst wenig Latenz und Jitter (Planungsabweichungen) aufweisen, möchten wir sie in einem dedizierten Satz von LPs ausführen und sicherstellen, dass die Stamm-VPs nicht in diesen LPs ausgeführt werden.

Dies erreichen wir, indem wir die so genannte Minroot-Konfiguration, mit der die Ausführung der Hostbetriebssystempartition auf eine Teilmenge der Gesamtanzahl der logischen Systemprozessoren beschränkt wird, mit der Verwendung einer oder mehrerer CPU-Gruppen mit Affinität kombinieren.

Der Virtualisierungshost kann so konfiguriert werden, dass die Hostpartition auf bestimmte LPs beschränkt wird, wobei mindestens eine CPU-Gruppe über Affinität mit den verbleibenden LPs verfügt. Auf diese Weise können die Stamm- und Gastpartitionen auf dedizierten CPU-Ressourcen sowie vollständig isoliert und ohne gemeinsame CPU-Nutzung ausgeführt werden.

Weitere Informationen zur Minroot-Konfiguration finden Sie unter Ressourcenverwaltung für Hyper-V-Host-CPUs.

Verwenden des CpuGroups-Tools

Sehen wir uns einige Beispiele für die Verwendung des CpuGroups-Tools an.

Hinweis

Bei der Übergabe von Befehlszeilenparametern für das CpuGroups-Tool werden nur Leerzeichen als Trennzeichen verwendet. Der gewünschten Befehlszeilenoption dürfen keine Schrägstriche (/) oder Bindestriche (-) vorangestellt werden.

Ermitteln der CPU-Topologie

Das Ausführen von CpuGroups mit GetCpuTopology gibt Informationen zum aktuellen System zurück, wie unten gezeigt: LP-Index, NUMA-Knoten, zu dem der LP gehört, Paket- und Kern-IDs sowie Stamm-VP-Index.

Das folgende Beispiel zeigt ein System mit 2 CPU-Sockets und NUMA-Knoten, insgesamt 32 LPs und aktiviertem Multithreading. Es ist so konfiguriert, dass Minroot mit 8 Stamm-VPs aktiviert ist (4 von jedem NUMA-Knoten). Die LPs mit Stamm-VPs weisen einen RootVpIndex >= 0 auf; LPs mit einem RootVpIndex von -1 sind für die Stammpartition nicht verfügbar, werden aber vom Hypervisor verwaltet und führen Gast-VPs aus, sofern dies in anderen Konfigurationseinstellungen zugelassen ist.

C:\vm\tools>CpuGroups.exe GetCpuTopology

LpIndex NodeNumber PackageId CoreId RootVpIndex
------- ---------- --------- ------ -----------
      0          0         0      0           0
      1          0         0      0           1
      2          0         0      1           2
      3          0         0      1           3
      4          0         0      2          -1
      5          0         0      2          -1
      6          0         0      3          -1
      7          0         0      3          -1
      8          0         0      4          -1
      9          0         0      4          -1
     10          0         0      5          -1
     11          0         0      5          -1
     12          0         0      6          -1
     13          0         0      6          -1
     14          0         0      7          -1
     15          0         0      7          -1
     16          1         1     16           4
     17          1         1     16           5
     18          1         1     17           6
     19          1         1     17           7
     20          1         1     18          -1
     21          1         1     18          -1
     22          1         1     19          -1
     23          1         1     19          -1
     24          1         1     20          -1
     25          1         1     20          -1
     26          1         1     21          -1
     27          1         1     21          -1
     28          1         1     22          -1
     29          1         1     22          -1
     30          1         1     23          -1
     31          1         1     23          -1

Beispiel 2: Ausgeben aller CPU-Gruppen auf dem Host

Hier listen wir alle CPU-Gruppen auf dem aktuellen Host, deren GroupId, die CPU-Obergrenze der Gruppe und die Indizes der LPs auf, die dieser Gruppe zugewiesen sind.

Beachten Sie, dass gültige Werte für CPU-Obergrenzen im Bereich [0, 65536] liegen und diese Werte die Gruppenobergrenze in Prozent ausdrücken (z  B. 32768 = 50%).

C:\vm\tools>CpuGroups.exe GetGroups

CpuGroupId                          CpuCap  LpIndexes
------------------------------------ ------ --------
36AB08CB-3A76-4B38-992E-000000000002 32768  4,5,6,7,8,9,10,11,20,21,22,23
36AB08CB-3A76-4B38-992E-000000000003 65536  12,13,14,15
36AB08CB-3A76-4B38-992E-000000000004 65536  24,25,26,27,28,29,30,31

Beispiel 3: Ausgeben einer einzelnen CPU-Gruppe

In diesem Beispiel fragen wir eine einzelne CPU-Gruppe mithilfe der GroupId als Filter ab.

C:\vm\tools>CpuGroups.exe GetGroups /GroupId:36AB08CB-3A76-4B38-992E-000000000003
CpuGroupId                          CpuCap   LpIndexes
------------------------------------ ------ ----------
36AB08CB-3A76-4B38-992E-000000000003 65536  12,13,14,15

Beispiel 4: Erstellen einer neuen CPU-Gruppe

Hier erstellen wir eine neue CPU-Gruppe und geben dabei die Gruppen-ID und die LPs an, die der Gruppe zugewiesen werden sollen.

C:\vm\tools>CpuGroups.exe CreateGroup /GroupId:36AB08CB-3A76-4B38-992E-000000000001 /GroupAffinity:0,1,16,17

Jetzt zeigen wir unsere neu hinzugefügte Gruppe an.

C:\vm\tools>CpuGroups.exe GetGroups
CpuGroupId                          CpuCap LpIndexes
------------------------------------ ------ ---------
36AB08CB-3A76-4B38-992E-000000000001 65536 0,1,16,17
36AB08CB-3A76-4B38-992E-000000000002 32768 4,5,6,7,8,9,10,11,20,21,22,23
36AB08CB-3A76-4B38-992E-000000000003 65536 12,13,14,15
36AB08CB-3A76-4B38-992E-000000000004 65536 24,25,26,27,28,29,30,31

Beispiel 5: Festlegen der CPU-Gruppenobergrenze auf 50 %

Hier legen wir die CPU-Gruppenobergrenze auf 50 % fest.

C:\vm\tools>CpuGroups.exe SetGroupProperty /GroupId:36AB08CB-3A76-4B38-992E-000000000001 /CpuCap:32768

Jetzt bestätigen wir unsere Einstellung, indem wir die Gruppe anzeigen, die wir gerade aktualisiert haben.

C:\vm\tools>CpuGroups.exe GetGroups /GroupId:36AB08CB-3A76-4B38-992E-000000000001

CpuGroupId                          CpuCap LpIndexes
------------------------------------ ------ ---------
36AB08CB-3A76-4B38-992E-000000000001 32768 0,1,16,17

Beispiel 6: Ausgeben der CPU-Gruppen-IDs für alle VMs auf dem Host

C:\vm\tools>CpuGroups.exe GetVmGroup

VmName                                 VmId                           CpuGroupId
------ ------------------------------------ ------------------------------------
    G2 4ABCFC2F-6C22-498C-BB38-7151CE678758 36ab08cb-3a76-4b38-992e-000000000002
    P1 973B9426-0711-4742-AD3B-D8C39D6A0DEC 36ab08cb-3a76-4b38-992e-000000000003
    P2 A593D93A-3A5F-48AB-8862-A4350E3459E8 36ab08cb-3a76-4b38-992e-000000000004
    G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200 36ab08cb-3a76-4b38-992e-000000000002
    G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC 36ab08cb-3a76-4b38-992e-000000000002

Beispiel 7: Aufheben der Bindung einer VM an die CPU-Gruppe

Um eine VM aus einer CPU-Gruppe zu entfernen, legen Sie die CpuGroupId der VM auf den GUID-Wert NULL fest. Damit wird die Bindung der VM an die CPU-Gruppe aufgehoben.

C:\vm\tools>CpuGroups.exe SetVmGroup /VmName:g1 /GroupId:00000000-0000-0000-0000-000000000000

C:\vm\tools>CpuGroups.exe GetVmGroup
VmName                                 VmId                           CpuGroupId
------ ------------------------------------ ------------------------------------
    G2 4ABCFC2F-6C22-498C-BB38-7151CE678758 36ab08cb-3a76-4b38-992e-000000000002
    P1 973B9426-0711-4742-AD3B-D8C39D6A0DEC 36ab08cb-3a76-4b38-992e-000000000003
    P2 A593D93A-3A5F-48AB-8862-A4350E3459E8 36ab08cb-3a76-4b38-992e-000000000004
    G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200 36ab08cb-3a76-4b38-992e-000000000002
    G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC 00000000-0000-0000-0000-000000000000

Beispiel 8: Binden einer VM an eine vorhandene CPU-Gruppe

Hier fügen wir eine VM zu einer vorhandenen CPU-Gruppe hinzu. Beachten Sie, dass die VM nicht an eine vorhandene CPU-Gruppe gebunden sein darf, da sonst die CPU-Gruppen-ID nicht festgelegt werden kann.

C:\vm\tools>CpuGroups.exe SetVmGroup /VmName:g1 /GroupId:36AB08CB-3A76-4B38-992E-000000000001

Jetzt bestätigen wir, dass sich die VM „G1“ in der gewünschten CPU-Gruppe befindet.

C:\vm\tools>CpuGroups.exe GetVmGroup
VmName                                 VmId                           CpuGroupId
------ ------------------------------------ ------------------------------------
    G2 4ABCFC2F-6C22-498C-BB38-7151CE678758 36ab08cb-3a76-4b38-992e-000000000002
    P1 973B9426-0711-4742-AD3B-D8C39D6A0DEC 36ab08cb-3a76-4b38-992e-000000000003
    P2 A593D93A-3A5F-48AB-8862-A4350E3459E8 36ab08cb-3a76-4b38-992e-000000000004
    G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200 36ab08cb-3a76-4b38-992e-000000000002
    G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC 36AB08CB-3A76-4B38-992E-000000000001

Beispiel 9: Ausgeben aller gruppierten VMs anhand der CPU-Gruppen-ID

C:\vm\tools>CpuGroups.exe GetGroupVms
CpuGroupId                           VmName                                 VmId
------------------------------------ ------ ------------------------------------
36AB08CB-3A76-4B38-992E-000000000001     G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC
36ab08cb-3a76-4b38-992e-000000000002     G2 4ABCFC2F-6C22-498C-BB38-7151CE678758
36ab08cb-3a76-4b38-992e-000000000002     G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200
36ab08cb-3a76-4b38-992e-000000000003     P1 973B9426-0711-4742-AD3B-D8C39D6A0DEC
36ab08cb-3a76-4b38-992e-000000000004     P2 A593D93A-3A5F-48AB-8862-A4350E3459E8

Beispiel 10: Ausgeben aller VMs für eine einzelne CPU-Gruppe

C:\vm\tools>CpuGroups.exe GetGroupVms /GroupId:36ab08cb-3a76-4b38-992e-000000000002

CpuGroupId                           VmName                                VmId
------------------------------------ ------ ------------------------------------
36ab08cb-3a76-4b38-992e-000000000002     G2 4ABCFC2F-6C22-498C-BB38-7151CE678758
36ab08cb-3a76-4b38-992e-000000000002     G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200

Beispiel 11: Versuch, eine nicht leere CPU-Gruppe zu löschen

Nur leere CPU-Gruppen – also CPU-Gruppen ohne daran gebundene VMs – können gelöscht werden. Beim Versuch, eine nicht leere CPU-Gruppe zu löschen, tritt ein Fehler auf.

C:\vm\tools>CpuGroups.exe DeleteGroup /GroupId:36ab08cb-3a76-4b38-992e-000000000001
(null)
Failed with error 0xc0350070

Beispiel 12: Aufheben der Bindung der einzigen VM in einer CPU-Gruppe und Löschen der Gruppe

In diesem Beispiel verwenden wir mehrere Befehle, um eine CPU-Gruppe zu untersuchen, die einzige zu dieser Gruppe gehörende VM zu entfernen und dann die Gruppe zu löschen.

Als Erstes zählen wir die VMs in unserer Gruppe auf.

C:\vm\tools>CpuGroups.exe GetGroupVms /GroupId:36AB08CB-3A76-4B38-992E-000000000001
CpuGroupId                           VmName                                VmId
------------------------------------ ------ ------------------------------------
36AB08CB-3A76-4B38-992E-000000000001     G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC

Wir stellen fest, dass nur eine einzige VM namens „G1“ zu dieser Gruppe gehört. Entfernen wir die VM „G1“ aus unserer Gruppe, indem wir die Gruppen-ID der VM auf NULL festlegen.

C:\vm\tools>CpuGroups.exe SetVmGroup /VmName:g1 /GroupId:00000000-0000-0000-0000-000000000000

Wir überprüfen die Änderung.

C:\vm\tools>CpuGroups.exe GetVmGroup /VmName:g1
VmName                                 VmId                           CpuGroupId
------ ------------------------------------ ------------------------------------
    G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC 00000000-0000-0000-0000-000000000000

Nachdem die Gruppe leer ist, können wir sie jetzt sicher löschen.

C:\vm\tools>CpuGroups.exe DeleteGroup /GroupId:36ab08cb-3a76-4b38-992e-000000000001

Wir überprüfen, ob die Gruppe wirklich weg ist.

C:\vm\tools>CpuGroups.exe GetGroups
CpuGroupId                          CpuCap                     LpIndexes
------------------------------------ ------ -----------------------------
36AB08CB-3A76-4B38-992E-000000000002 32768  4,5,6,7,8,9,10,11,20,21,22,23
36AB08CB-3A76-4B38-992E-000000000003 65536  12,13,14,15
36AB08CB-3A76-4B38-992E-000000000004 65536 24,25,26,27,28,29,30,31

Beispiel 13: Erneutes Binden einer VM an ihre ursprüngliche CPU-Gruppe

C:\vm\tools>CpuGroups.exe SetVmGroup /VmName:g1 /GroupId:36AB08CB-3A76-4B38-992E-000000000002

C:\vm\tools>CpuGroups.exe GetGroupVms
CpuGroupId VmName VmId
------------------------------------ -------------------------------- ------------------------------------
36ab08cb-3a76-4b38-992e-000000000002 G2 4ABCFC2F-6C22-498C-BB38-7151CE678758
36ab08cb-3a76-4b38-992e-000000000002 G3 B0F3FCD5-FECF-4A21-A4A2-DE4102787200
36AB08CB-3A76-4B38-992E-000000000002 G1 F699B50F-86F2-4E48-8BA5-EB06883C1FDC
36ab08cb-3a76-4b38-992e-000000000003 P1 973B9426-0711-4742-AD3B-D8C39D6A0DEC
36ab08cb-3a76-4b38-992e-000000000004 P2 A593D93A-3A5F-48AB-8862-A4350E3459E8