Durch das Festlegen einer CPU-Affinität für jede virtuelle Maschine können Sie in Systemen mit mehreren Prozessoren die Zuweisung virtueller Maschinen auf bestimmte verfügbare Prozessoren einschränken. Mithilfe dieser Funktion können Sie den Prozessoren gemäß der festgelegten Affinitätseinstellung einzelne virtuelle Maschinen zuweisen.

Die CPU-Affinität gibt die Platzierungsbeschränkungen für „virtuelle Maschine zu Prozessor“ an und unterscheidet sich von der Beziehung, die von einer VM-VM- oder VM-Host-Affinitätsregel erstellt wird, die die Hostplatzierungsbeschränkungen für „virtuelle Maschine zu virtuelle Maschine“ angibt.

In diesem Kontext bezeichnet der Begriff „CPU“ in einem System mit Hyper-Threading einen logischen Prozessor und in einem System ohne Hyper-Threading einen Kern.

Die CPU-Affinitätseinstellung für eine virtuelle Maschine gilt für alle mit der virtuellen Maschine verknüpften virtuellen CPUs sowie für alle anderen mit der virtuellen Maschine verknüpften Threads (auch als „Worlds“ bezeichnet). Solche Threads virtueller Maschinen führen die Verarbeitung für die Emulation von Maus, Tastatur, Bildschirm, CD-ROM-Laufwerk und verschiedenen anderen Legacy-Geräten durch.

In einigen Fällen, z. B. bei anzeigeintensiven Arbeitslasten, kann eine erhebliche Kommunikation zwischen den virtuellen CPUs und den anderen Threads virtueller Maschinen stattfinden. Die Leistung lässt möglicherweise nach, wenn die Affinitätseinstellung der virtuellen Maschine verhindert, dass diese zusätzlichen Threads gleichzeitig mit den virtuellen CPUs der virtuellen Maschine geplant werden. Beispiele hierfür sind eine virtuelle Maschine mit einem Prozessor mit Affinität zu einer einzelnen CPU oder eine virtuelle SMP-Maschine mit zwei Prozessoren mit Affinität zu lediglich zwei CPUs.

Bei Verwendung von manuellen Affinitätseinstellungen erzielen Sie die beste Leistung, wenn Sie mindestens eine weitere physische CPU in der Affinitätseinstellung angeben, damit mindestens einer der Threads der virtuellen Maschine gleichzeitig mit ihren virtuellen CPUs geplant werden kann. Beispiele hierfür sind eine virtuelle Maschine mit einem Prozessor mit Affinität zu mindestens zwei CPUs oder eine virtuelle SMP-Maschine mit zwei Prozessoren mit Affinität zu mindestens drei CPUs.

Zuweisen einer virtuellen Maschine zu einem bestimmten Prozessor

Unter Verwendung der CPU-Affinität können Sie eine virtuelle Maschine einem bestimmten Prozessor zuweisen. Dadurch können Sie die Zuweisung von virtuellen Maschinen auf einen bestimmten verfügbaren Prozessor in Systemen mit mehreren Prozessoren beschränken.

Prozedur

  1. Wechseln Sie zur virtuellen Maschine im vSphere Client.
    1. Wählen Sie zum Suchen einer virtuellen Maschine ein Datencenter, einen Ordner, einen Cluster, einen Ressourcenpool oder einen Host aus.
    2. Wählen Sie VMs aus.
  2. Klicken Sie mit der rechten Maustaste auf die virtuelle Maschine und klicken Sie auf Einstellungen bearbeiten.
  3. Erweitern Sie unter „Virtuelle Hardware“ CPU.
  4. Wählen Sie unter „Planen von Affinität“ eine physische Prozessoraffinität für die virtuelle Maschine aus.
    Verwenden Sie '-' für Bereiche und ',', um Werte zu trennen.
    Beispielsweise gibt „0, 2, 4-7“ die Prozessoren 0, 2, 4, 5, 6 und 7 an.
  5. Wählen Sie die Prozessoren, auf denen die virtuelle Maschine ausgeführt werden soll, und klicken Sie auf OK.

Mögliche Probleme mit der CPU-Affinität

Vor der Verwendung der CPU-Affinität müssen Sie unter Umständen bestimmte Probleme berücksichtigen.

Mögliche Probleme mit der CPU-Affinität sind unter anderem:

  • Bei Multiprozessorsystemen führen ESXi-Systeme einen automatischen Lastausgleich durch. Vermeiden Sie eine manuelle Spezifikation der VM-Affinität, damit der Scheduler die Last besser über mehrere Prozessoren ausgleichen kann.
  • Die Affinität kann zu einer Beeinträchtigung des ESXi-Hosts bei der Einhaltung der für eine virtuelle Maschine angegebenen Reservierung und Anteile führen.
  • Da die Affinität von der CPU-Zugangssteuerung nicht berücksichtigt wird, erhält eine virtuelle Maschine mit manuellen Affinitätseinstellungen möglicherweise nicht immer die vollständige Reservierung.

    Virtuelle Maschinen ohne manuelle Affinitätseinstellungen werden durch virtuelle Maschinen mit manuellen Affinitätseinstellungen nicht beeinträchtigt.

  • Wenn Sie eine virtuelle Maschine von einem Host auf einen anderen verschieben, besteht möglicherweise keine Affinität mehr, da der neue Host eventuell eine andere Anzahl an Prozessoren aufweist.
  • Der NUMA-Scheduler ist in diesem Fall unter Umständen nicht in der Lage, eine virtuelle Maschine zu verwalten, die bereits unter Verwendung von Affinität bestimmten Prozessoren zugewiesen ist. Weitere Informationen finden Sie unter Verwenden von NUMA-Systemen mit ESXi.
  • Die Affinität kann sich darauf auswirken, ob bzw. wie der Host virtuelle Maschinen auf Prozessoren mit mehreren Kernen oder Hyper-Threading planen kann, um die auf solchen Prozessoren gemeinsam genutzten Ressourcen vollständig zu nutzen.