ESXi- und Windows Server-CPU-Parken

10

Für diejenigen, die es nicht wissen, ist das Parken von CPUs eine Funktion in neueren Windows Server-Versionen, die es Windows ermöglicht, einen CPU-Kern so gut wie auf Null zu setzen und ihn nicht zu verwenden. Es wurde als Energiesparmaßnahme eingeführt. Es gibt weitere Einzelheiten über sie hier , unter anderen Orten.

Ich bin jedoch gespannt, ob dies für einen virtualisierten Gast von Bedeutung ist - oder ob das Parken von CPUs eher ein Hindernis als eine Hilfe ist, da die physischen CPUs von ESXi und nicht von Windows verwaltet werden und eine geparkte CPU weniger wahrscheinlich ist mit Datenverkehr umgehen, es sei denn, der Scheduler hält es für ausreichend Arbeit, um die CPU zu entparken?

Ich habe nichts darüber gefunden - ich vermute, dass es sehr stark von einer bestimmten Arbeitsbelastung abhängt, aber ich habe keine Diskussion gesehen (im Gegensatz zum Beispiel, ob Hyper-Threading einen Effekt hat, der anscheinend regelmäßig diskutiert wird ). Obwohl ich den "Test mit Ihrer Arbeitsbelastung" verstehe, habe ich mich gefragt, ob es da draußen Ratschläge / Richtlinien gibt, die ich verpasst habe.

Chris J.
quelle
1
Ich bezweifle, dass eine VM physischen Kernen anweisen kann, in den Ruhezustand zu wechseln. Wenn dies möglich wäre, würde dies vom Hypervisor unabhängig von der VM durchgeführt.
LatinSuD
Genau - deshalb stelle ich die Frage, ob ich den Punkt des Parkens in einer VM nicht sehen kann. Sollte das Parken deaktiviert werden?
Chris J
Welche ESXi-Version? Wie hoch ist die CPU-Auslastung sowohl auf dem Computer Ihres Entwicklers, den Sie in einem der Kommentare erwähnt haben, als auch auf der VM? Welche CPU-Modelle werden auf dem Computer Ihres Entwicklers und auf Ihrem ESXi-Host verwendet? Ich weiß nicht, ob diese Informationen helfen werden, aber es könnte sein.
Mario Lenz

Antworten:

11

Versuchen Sie auf jeden Fall, Ihre VMs richtig zu dimensionieren .

Wenn Sie über genügend freie virtuelle CPUs verfügen, um sich Gedanken über das "Parken von CPUs" zu machen, sind der VM möglicherweise zu viele zugeordnet.

Es ist keine häufige Anforderung, daher würde ich mich nur auf die herkömmlichen Ressourcenverwaltungstools verlassen, es sei denn, Sie haben derzeit ein Leistungsproblem.

Bearbeiten:

Sie sind mit einem Performance - Problem.

  • Stellen Sie sicher, dass VMware-Tools installiert sind.
  • Stellen Sie die Windows VM- Energieoptionen auf Hochleistung ein

Geben Sie hier die Bildbeschreibung ein

ewwhite
quelle
2
Es ist etwas, das wir auf einem Rig unter einer ziemlich hohen CPU-Last gesehen haben - eine Multithread-App scheint nicht alle vCPUs zu nutzen, wobei der Ressourcenmanager ein Paar als "geparkt" markiert (obwohl es mehr als genug Threads gibt zum Laufen in die Warteschlange gestellt). Es ist das erste Mal, dass wir darüber nachdenken mussten, ob Parken und VMs wirklich ein Problem sind: Der Entwickler auf seinem Computer (physisch) sieht, dass derselbe Code alle Kerne verwendet (mehr Kerne als auf der VM). Wir kratzen uns ein bisschen am Kopf und wollten nur diesen speziellen Aspekt untersuchen.
Chris J
@ChrisJ Siehe meine Bearbeitung oben.
ewwhite
Dies scheint den Trick auf unserem Prüfstand getan zu haben: Die Last wird jetzt auf alle vCPUs verteilt (laut Windows), und statt 2 gleichzeitiger Threads haben wir 4 gleichzeitige Threads. Wir werden heute (hoffentlich) auf dem großen Rig laufen, also werden wir es dann bestätigen.
Chris J
1
Stellen Sie sicher, dass Sie es Ihrer Windows Server-Gruppenrichtlinie hinzufügen. Deshalb berühre ich es nie mehr manuell.
ewwhite
Guter Vorschlag - ta.
Chris J
4

Es wäre egal. Wenn Sie Strom sparen möchten, weisen Sie dem VM-Gast weniger Kerne zu. Windows wird versuchen, seine "virtuellen" Kerne zu verwalten, hat jedoch keine Kontrolle über den Hypervisor, sodass die tatsächlichen physischen CPUs auf dem System nicht beeinträchtigt werden.

Nathan C.
quelle
Für mich ist dies kein Energiesparproblem, da der Host virtuos ist. Daher muss ich mir ESXi ansehen. Es ist jedoch wichtiger, ob es den Hypervisor-Scheduler selbst beeinflusst / stört, da letztendlich die physische CPU-Zeit davon und nicht vom Windows-Scheduler beeinflusst wird. Mein eigenes Bauchgefühl ist, dass das Parken wahrscheinlich deaktiviert werden sollte, damit der Windows-Scheduler keine CPU "parken" muss, die tatsächlich nicht vorhanden ist, und dies könnte die zugrunde liegenden physischen CPUs besser nutzen, indem ESX Zeit zuweisen kann entsprechend. Ich habe mich nur gefragt, ob mein Bauch richtig ist :-)
Chris J
Dies hat keinen Einfluss auf den Scheduler. Unter eingeschränkten Bedingungen kann ESXi Ihren Gästen nicht genutzte CPU-Zeit "stehlen". Andernfalls bleibt der Core inaktiv, es sei denn, ein anderer Gast verwendet ihn ebenfalls.
Nathan C
@ChrisJ Es ist nicht erforderlich, zu deaktivieren. Versuchen Sie nicht, VMware
auszutricksen
Ich versuche nicht, VMWare zu überlisten, ich versuche, Windows zu überdenken (da es nicht so aussieht, als würde eine App für alle vCPUs geplant) :-) Ich hätte nicht gedacht, dass wir etwas tun müssen. Hauptsächlich aufgrund des Mangels an Informationen darüber online (was bedeutet, dass die meisten / jeder es so lässt wie es ist), wollte aber nur diesen Aspekt untersuchen.
Chris J
@ChrisJ Ich glaube nicht, dass Leute diese Einstellung direkt berühren. Dies ist normalerweise Teil der Energiepolitik des Systems.
ewwhite