Temporäre Spitzen bei der CPU-Auslastung stellen nicht notwendigerweise ein Problem dar. Eine konstant hohe CPU-Auslastung kann jedoch auf ein Problem hindeuten. Sie können die CPU-Leistungsdiagramme dazu verwenden, um die CPU-Leistung von Hosts, Clustern, Ressourcenpools, virtuellen Maschinen und vApps zu überwachen.
Problem
- Die Host-CPU-Nutzung ist konstant hoch. Ein hoher Wert für die CPU-Nutzung kann zu erhöhter Bereitschaftszeit und zu Prozessor-Warteschlangen für die virtuellen Maschinen auf dem Host führen.
- Die CPU-Nutzung der virtuellen Maschine liegt über 90 % und der Wert für die „CPU in Bereitschaft“ liegt über 20 %. Die Anwendungsleistung ist beeinträchtigt.
Ursache
- Dem Host fehlen wahrscheinlich die CPU-Ressourcen, die zur Bedarfsdeckung erforderlich sind.
- Möglicherweise sind zu viele virtuelle CPUs im Verhältnis zur Anzahl der physischen Prozessorkerne vorhanden.
- Möglicherweise ist ein E/A-Speicher- oder Netzwerkvorgang vorhanden, durch den die CPU in einen Wartezustand versetzt wird.
- Das Gastbetriebssystem generiert eine zu hohe Auslastung für die CPU.
Lösung
- Stellen Sie sicher, dass VMware Tools auf allen virtuellen Maschinen auf dem Host installiert sind.
- Vergleichen Sie den Wert der CPU-Nutzung einer virtuellen Maschine mit der CPU-Nutzung anderer virtueller Maschinen auf dem Host oder im Ressourcenpool. Das Stapel-Balkendiagramm in der Ansicht Virtuelle Maschinen des Hosts gibt die CPU-Nutzung für alle virtuellen Maschinen auf dem Host an.
- Finden Sie heraus, ob das Erreichen der CPU-Grenzwerteinstellung des CPU-Nutzungswerts für die virtuelle Maschine die Ursache für ihre hohe Bereitschaftszeit ist. Erhöhen Sie den CPU-Grenzwert, wenn dies der Fall ist.
- Erhöhen Sie die CPU-Anteile, damit die virtuelle Maschine häufiger ausgeführt werden kann. Die gesamte Bereitschaftszeit auf dem Host bleibt möglicherweise auf derselben Ebene, wenn das Hostsystem durch die CPU gebremst wird. Legen Sie, wenn die Hostbereitschaftszeit nicht sinkt, die CPU-Reservierungen für virtuelle Maschinen mit hoher Priorität fest, um sicherzustellen, dass sie die erforderlichen CPU-Zyklen erhalten.
- Erhöhen Sie die Menge des Arbeitsspeichers, der der virtuellen Maschine zugeteilt ist. Dadurch wird die Festplatten- und/oder Netzwerkaktivität für Anwendungen mit Zwischenspeicherung möglicherweise herabgesetzt. Dies kann unter Umständen zu einer geringeren Festplatten-E/A und/oder weniger Netzwerkdatenverkehr und somit zu einer geringeren CPU-Auslastung führen. Virtuelle Maschinen mit kleineren Ressourcenzuteilungen akkumulieren in der Regel mehr CPU-Bereitschaftszeit.
- Verringern Sie die Anzahl der virtuellen CPUs auf einer virtuellen Maschine auf die Anzahl, die zum Ausführen der Arbeitslast erforderlich ist. Beispielsweise kann eine Anwendung mit nur einem Thread auf einer virtuellen Vier-Wege-Maschine nur eine einzige vCPU nutzen. Die Wartung der drei im Leerlauf befindlichen vCPUs durch ESXi verwendet jedoch CPU-Zyklen, die für andere Aufgaben genutzt werden könnten.
- Fügen Sie den Host zu einem DRS-Cluster hinzu, wenn er sich nicht bereits in einem DRS-Cluster befindet. Wenn sich der Host in einem DRS-Cluster befindet, erhöhen Sie die Anzahl an Hosts und migrieren Sie eine oder mehrere virtuelle Maschinen auf den neuen Host.
- Aktualisieren Sie bei Bedarf die physischen CPUs auf dem Host.
- Verwenden Sie die neueste Version der Hypervisor-Software und aktivieren Sie CPU-sparende Funktionen, wie z. B. TCP-Segmentierungs-Offload, große Arbeitsspeicherseiten und Jumbo-Frames.