Multicore-CPUs in VMWare vSphere VMs emulieren

Grundsätzlich macht VMWare vSphere aus jeder CPU die man einer virtuellen Maschine zuweist einen eigenen Sockel mit jeweils einem CPU-Kern. Dieses Verhalten erweist sich aber als störend wenn man mehr CPU-Kerne braucht als die verwendete Software an Sockeln unterstützt. So ist bei Windows XP Professional z.B. bei 2 CPUs Schluss – mehr als 2 Kerne sind dann nicht möglich.

Mit vSphere 4.1 hat VMWare das geändert: Jetzt ist es auch möglich einer VM CPUs mit jeweils mehreren Kernen zuzuweisen. Nachteil: Man kann dann keine CPUs mehr im laufenden Betrieb hinzufügen oder entfernen, das dürfte für die meisten aber kein Problem darstellen.

Voraussetzung ist, dass die VM die Version 7 hat.

Leider hat VMWare dieses neue Feature versteckt, wer eine Möglichkeit sucht diese Einstellung wie bei VMWare Workstation 7 möglich per GUI zu treffen wird enttäuscht.

Aber keine Angst, es ist nicht kompliziert.

  1. Im vSphere Client geht man im Kontextmenü der virtuellen Maschine auf „Einstellungen bearbeiten…“
  2. Im Eigenschaftendialog der virtuellen Maschine setzt man zuerst die Anzahl der CPU-Kerne die man benötigt unter „CPUs“.
    Das mag jetzt etwas irreführend erscheinen, aber die Anzahl der CPUs die hier gewählt wird ist später die Anzahl der Kerne die insgesamt zur Verfügung stehen.
    Rechts oben im Eck ist übrigens die Version der VM zu sehen, diese muss 7 sein.

  3. Im Tab „Optionen“ gibt es in der Liste direkt unter „Erweitert“ den Punkt „Allgemein“.
    Hier gehen wir rechts auf die Schaltfläche „Konfigurationsparameter“.

  4. In der Liste die jetzt zu sehen ist erstellen wir eine neue Zeile.
    Als „Name“ geben wir cpuid.coresPerSocket ein und als „Wert“ die Anzahl an Kernen die jede CPU haben soll, in diesem Fall 2.
    Möglich sind die Werte 2, 4 und 8.

  5. Wenn wir die virtuelle Maschine jetzt starten können wir feststellen ob die Konfiguration übernommen wurde.
    Hier bei einer Windows XP Professional VM z.B. sehen wir 4 CPUs im Taskmanager (zur Erinnerung: Windows XP Professional kann nur mit 2 CPUs umgehen, ergo hat die Konfiguration mit 2 Kernen pro CPU wohl gewirkt).

    [Update]

    Die Einstellung ist in der .vmx Datei der virtuellen Maschine verankert und sieht in unserem Beispiel folgendermaßen aus:

    cpuid.coresPerSocket = „2“

    Soll die Einstellung entfernt werden ist der die direkte Bearbeitung der .vmx-Datei auch der einzige Weg, da sich über den oben gezeigten Weg zwar Einträge hinzufügen aber nicht löschen lassen.

    [/Update]