Die optimale Einstellung der Server-Hardware ist die Grundvoraussetzungen für eine optimale Performance von VMware ESXi. Um die Turbo Boost-Funktion von Intel-Prozessoren optimal zu nutzen sind beispielsweise bestimmte Einstellungen notwendig.
Auf diese und weitere Einstellungen soll hier eingegangen werden.
Daher habe ich hier Ergebnisse zusammengestellt, die sich über die Jahre bewährt haben. Zielgruppe sind KMU Umgebungen mit wenigen Hosts. Für Rechenzentren mag es Abweichungen geben.
Die Version 6.x (6.0, 6.5, 6,7) und 7.x (7.0) des ESXi sind gleichermaßen Ziel dieses Artikels.
Grundlagen
In diesem Abschnitt möchte ich in groben Zügen auf die Energieverwaltung eingehen. Wenn Sie mit P-States und C-States vertraut sind können Sie diesen Abschnitt überspringen.
Um einige Werte aus der Praxis griffbereit zu haben, verwende ich als Beispiel die Intel CPU Xeon 6254. Diese verfügt mit 18 Kernen über einen Basistakt von 3,10 GHz und einen maximalen Turbo-Takt von 4,00 Ghz.
Sie sehen bereits hier, dass der Turbo-Takt 29% über dem Basistakt liegt. Demzufolge ist dies auch ein beachtlicher Mehrwert an Leistung.
Wichtig zu wissen ist hierbei, dass lediglich der Betrieb im Basistakt von 3,10 GHz stabil garantiert und über einen längeren Zeitraum möglich ist.
Prozessor P-States und C-States
P-States
P steht für performance. Diesen Status hat der Prozessor, während er Code ausführt.
Diese dienen zur Steuerung der Taktfrequenz und Spannung, mit der ein Prozessor läuft. Auch während der Codeausführung soll der Prozessor nicht unnötig viel Strom verbrauchen.
Der Basistakt, in unserem Beispiel also 3,10 GHz entspricht hierbei P1. Der Turbo-Takt von bis zu 4,00 GHz entspricht P0. Es gibt nach unten weitere Taktstufen. Diese werden dann mit P2, P3, P4 …. bezeichnet.
C-States
C-States dienen der Verringerung des Stromverbrauchs. Dieser Status nimmt der Prozessor ein, wenn kein Code ausgeführt wird. Dies ist der Idle-Modus.
Hierbei werden je nach Stufe C0 bis Cx verschiedene Elemente deaktiviert und dadurch eine Stromeinsparung erreicht. Hierdurch reduziert sich auch die entstehende Wärme.
Warum kann meine CPU nicht durchgängig im Turbo-Takt laufen?
Vereinfacht gesagt, weil die entstehende Abwärme nicht ausreichend schnell abtransportiert werden kann. Und zwar nicht nur von der CPU im Gehäuse, sondern bereits innerhalb der CPU gibt es wärmere und kühlere Kerne, je nach Belastung.
In unserem Beispiel beträgt die gesamte Verlustleistung (TDP) 200 Watt. Diese Angabe können Sie im Datenblatt eines Prozessors nachlesen.
Laut Definition von Intel steht die Thermal Design Power (TDP) für die durchschnittliche Leistungsaufnahme (in Watt), die der Prozessor beim Betrieb auf Basisfrequenz ableitet. Sie sehen also, dass hier einiges an Wärme entsteht.
Jeder Kern hat einen gewissen Anteil an diesem Gesamtbudget.
Damit ein Prozessor nicht überhitzt reduziert er den Takt und damit auch die aufgenommene Energie.
Jetzt wird hoffentlich der Zusammenhang klar, warum das Abschalten der C-States in den meisten Fällen einen gegenteiligen Effekt hat.
Nur durch den Betrieb einiger Kerne im C-State bleibt genug Platz im Temperaturfenster, damit andere Kerne im P0-State, also im Turbo-Takt, betrieben werden können.
BIOS
Im BIOS erfolgen die grundlegenden Einstellungen für die Hardware. Damit steht und fällt die Sichtbarkeit von bestimmten Features für ESXi.
Die nachfolgenden Einstellungen sind für DELL Server, konkret 14G. Eine Übersicht über alle Einstellungen findet man im R740 BIOS and UEFI Reference Guide.
Viele der folgenden Einstellungen aus dem Bereich System Profile stammen aus der Veranstaltung SER2724BE von der VMworld 2017. Die Aufzeichnung bei YouTube können Sie unterhalb eingebettet oder unter folgendem Link ansehen: https://youtu.be/e9GWK8Pn8ec
Diese sei als sehr gute Erklärung für das Thema sei empfohlen.
Alternativ können Sie einfach die von mir aufgeführten Werte im BIOS umsetzen und kommen somit schnell zum Ergebnis.
Werte, welche von den Standardeinstellungen des Herstellers abweichen sind Fett hervorgehoben.
System Profile Settings
Einstellung | Empfehlung |
---|---|
System Profile | custom |
CPU Power Management | OS DBPM |
Memory Frequency | Maximum Performance |
Turbo Boost | Enabled |
C1E | Enabled |
C States | Enabled |
Memory Patrol Scrub | Standard |
Memory Refresh Rate | 1x |
Uncore Frequency | Maximum |
Energy Efficient Policy | Performance |
Number of Turbo Boost Enabled Cores for Processor 1 | All |
Number of Turbo Boost Enabled Cores for Processor 2 | All |
Monitor/Mwait | Enabled |
CPU Interconnect Bus Link Power Management | Disabled |
PCI ASPM L1 Link Power Management | Enabled |
Processor Settings
Einstellung | Empfehlung |
---|---|
Logical Processor | Enabled |
CPU Interconnect Speed | Maximum data rate |
Virtualization Technology | Enabled |
Adjacent Cache Line Prefetch | Enabled |
Hardware Prefetcher | Enabled |
DCU Streamer Prefetcher | Enabled |
DCU IP Prefetcher | Enabled |
Sub NUMA Cluster | Enabled |
UPI Prefetch | Enabled |
LLC Prefetch | Disabled |
Dead Line LLC Alloc | Enabled |
Directory AtoS | Disabled |
Logical Processor Idling | Disabled |
Configurable TDP | Nominal |
x2APIC Mode | Enabled |
Dell Controlled Turbo | Disabled |
AVX ICCP Pre-Grant | 128 Heavy |
Number of Cores per Processor | All |
Integrated Devices
Einstellung | Empfehlung |
---|---|
I/OAT DMA Engine | Disabled |
SR-IOV Global Enable | Enabled |
I/O Snoop HoldOff Response | 2K Cycles |
IOAT was experimental support in ESX 3.5 and is not supported in ESXi/ESX 4.x and later.
https://kb.vmware.com/s/article/1003712
Single Root I/O Virtualization (SR-IOV) Enabled nur, falls Sie dies verwenden wollen. Voraussetzungen siehe hier
Memory Settings
Einstellung | Empfehlung |
---|---|
System Memory Testing | Disabled |
Dram Refresh Delay | Performance |
Opportunistic Self-Refresh | Disabled |
Memory Operating Mode | Optimizer Mode |
ESXi Host-Einstellungen
Der ESXi selbst, sollte so eingestellt sein, dass sowohl P- und C-states zur Verfügung stehen.
Die Einstellung dazu kann man direkt auf dem ESXi-Host vornehmen:

Oder im vCenter, falls der Host darüber gesteuert wird:

Prüfung des Turbo Boost
Die Funktion von Turbo Boost lässt sich wie folgt überprüfen:
- Verbinden Sie sich per SSH auf den ESXi-Host
- starten Sie ESXTOP
- drücken Sie
p
um auf die Seite power management zu wechseln - mittels
f
und wiederf
undEnter
fügen Sie die Spalte “%A/MPERF” hinzu - Betrachten Sie die Spalte %A/MPERF
- Werte über 100 in dieser Spalte zeigen Ihnen die Funktion von Turbo Boost an

In dem oben abgebildeten Beispiel sehen Sie Werte um 128. Dies bedeutet ein 28% höherer Takt über dem Basistakt, also etwa 3,1GHz * 1,28 = 3,97 GHz. Somit befinden wir uns recht nah an der maximalen Frequenz von 4 GHz des Prozessors.
Während dieses Versuchs gab es nur eine Last für den Host, künstlich erzeugt in einer zweiten SSH Sitzung mittels:
# cat /dev/urandom | md5sum
Im Realbetrieb sieht das ganze eher so aus, als dass mehrere Cores den Turbo Boost aktivieren. Daher wird die Spitzenfrequenz nicht ganz erreicht. Hier sind Werte um 25% zu beobachten, also etwa 3,88 GHz.
