Energie- und Leistungsoptimierung
Energieeffizienz wird in Unternehmens- und Rechenzentrumsumgebungen zunehmend wichtiger und erweitert die Kombination der Konfigurationsoptionen um weitere zu berücksichtigend Kompromisse. Bei der Verwaltung von Servern ist es wichtig, sicherzustellen, dass sie so effizient wie möglich laufen und gleichzeitig die Leistungsanforderungen ihrer Workloads erfüllen. Windows Server ist für eine ausgezeichnete Energieeffizienz mit minimalen Auswirkungen auf die Leistung für eine Vielzahl unterschiedlicher Kundenworkloads optimiert. Unter Optimierung der Prozessorenergieverwaltung (PPM) für den Windows Server-Energiesparplan „Ausgeglichen“ werden Workloads beschrieben, die zum Optimieren der Standardparameter unter mehreren Windows Server-Versionen verwendet werden, sowie Vorschläge für angepasste Optimierungen bereitgestellt.
In diesem Abschnitt werden Kompromisse bei der Energieeffizienz erläutert, die Ihnen helfen, fundierte Entscheidungen zu treffen, wenn Sie die Standardenergieeinstellungen auf Ihrem Server anpassen müssen. Der Großteil der Serverhardware und -workloads sollte jedoch keine Energieeffizienzoptimierung durch den Administrator erfordern, wenn Windows Server ausgeführt wird.
Auswählen der Optimierungsmetriken
Wenn Sie Ihren Server unter dem Aspekt der Energieeinsparung optimieren, müssen Sie auch die Leistung berücksichtigen. Die Optimierung wirkt sich auf Leistung und Energieeffizienz aus, manchmal in unverhältnismäßigem Umfang. Berücksichtigen Sie für jede mögliche Anpassung Ihr Energiebudget und Ihre Leistungsziele, um zu bestimmen, ob der Kompromiss akzeptabel ist.
Bei der Windows Server-Optimierung mittels Standardparametern wird die Energieeffizienz als Hauptmetrik verwendet., um einen Ausgleich zwischen Energieeffizienz und Leistung herzustellen. Energieeffizienz ist das Verhältnis von erledigter Arbeit im Verhältnis zur durchschnittlichen Energie, die während eines bestimmten Zeitraums benötigt wird.
Sie können diese Metrik verwenden, um praktische Ziele festzulegen, die den Kompromiss zwischen Energieeffizienz und Leistung berücksichtigen. Im Gegensatz dazu schafft es ein Ziel von 10 Prozent Energieeinsparungen im Rechenzentrum nicht, die korrespondierenden Auswirkungen auf die Leistung zu kompensieren.
Ähnlich kann, wenn Sie Ihren Server so optimieren, dass die Leistung um 5 Prozent gesteigert wird und dies zu einem um 10 Prozent höheren Energieverbrauch führt, das Gesamtergebnis für Ihre Geschäftsziele akzeptabel sein oder nicht. Die Energieeffizienzmetrik ermöglicht eine fundiertere Entscheidungsfindung als die Energie- oder Leistungsmetriken allein.
Messen des Energieverbrauchs des Systems
Sie sollten eine Baseline-Energiemessung etablieren, bevor Sie Ihren Server hinsichtlich Energieeffizienz optimieren.
Wenn Ihr Server über die erforderliche Unterstützung verfügt, können Sie die Funktionen zur Energiemessung und Budgetierung in Windows Server 2016 verwenden, um den Energieverbrauch auf Systemebene mithilfe des Systemmonitors anzuzeigen.
Eine Möglichkeit, um festzustellen, ob Ihr Server die Messung und Budgetierung unterstützt, besteht darin, den Windows Server Catalog durchzusehen. Wenn Ihr Servermodell für die neue Qualifikation „Erweiterte Energieverwaltung“ im Windows-Zertifizierungsprogramm für Hardware (WHCP) qualifiziert ist, unterstützt es garantiert die Messungs- und Budgetierungsfunktionen.
Eine weitere Möglichkeit, die Unterstützung für Messungen zu überprüfen, besteht darin, manuell nach den Leistungsindikatoren im Systemmonitor zu suchen. Öffnen Sie den Systemmonitor, wählen Sie Leistungsindikatoren hinzufügen aus, und suchen Sie dann die Leistungsindikatorengruppe Energieanzeige.
Wenn benannte Instanzen von Energieanzeigen im Feld mit der Bezeichnung Instanzen des ausgewählten Objekts angezeigt werden, unterstützt Ihre Plattform die Messung. Der Leistungsindikator Energie, der die (Energie)Leistung in Watt anzeigt, wird in der ausgewählten Leistungsindikatorengruppe angezeigt. Die genaue Ableitung des Energiedatenwerts ist nicht angegeben. Beispielsweise kann es sich um eine sofortige Stromaufnahme oder eine durchschnittliche Stromaufnahme über ein bestimmtes Zeitintervall handeln.
Wenn Ihre Serverplattform die Messung nicht unterstützt, können Sie ein physisches Messgerät verwenden, das an die Stromversorgung angeschlossen ist, um die Energieaufnahme oder den Energieverbrauch des Systems zu messen.
Um eine Baseline zu erstellen, sollten Sie die durchschnittliche erforderliche Energie an verschiedenen Systemladepunkten messen, vom Leerlauf bis zu 100 Prozent (maximaler Durchsatz), um eine Belastungskennlinie zu generieren. Die folgende Abbildung zeigt Belastungskennlinien für drei Beispielkonfigurationen:
Sie können Belastungskennlinien verwenden, um die Leistung und den Energieverbrauch von Konfigurationen an allen Lastpunkten zu bewerten und zu vergleichen. In diesem speziellen Beispiel ist leicht zu erkennen, was die beste Konfiguration ist. Es kann jedoch leicht Szenarien geben, in denen eine Konfiguration am besten für hohe Workloads und eine andere Konfiguration für geringe Workloads am besten geeignet ist.
Sie müssen Ihre Workloadanforderungen gründlich verstehen, um eine optimale Konfiguration auswählen zu können. Gehen Sie nicht davon aus, dass eine einmal gefundene gute Konfiguration immer optimal bleibt. Sie sollten die Systemauslastung und den Energieverbrauch regelmäßig und nach Änderungen an Workloads, Workloadniveaus oder Serverhardware messen.
Diagnostizieren von Energieeffizienzproblemen
PowerCfg.exe unterstützt eine Befehlszeilenoption, mit der Sie die Energieeffizienz Ihres Servers im Leerlauf analysieren können. Wenn Sie „PowerCfg.exe“ mit der Option /energy ausführen, führt das Tool einen 60-Sekunden-Test durch, um potenzielle Energieeffizienzprobleme zu erkennen. Das Tool generiert einen einfachen HTML-Bericht im aktuellen Verzeichnis.
Wichtig
Um eine genaue Analyse sicherzustellen, vergewissern Sie sich, dass alle lokalen Apps geschlossen sind, bevor Sie PowerCfg.exe ausführen.
Verkürzte Timertaktraten, Treiber ohne Energieverwaltungsunterstützung und übermäßige CPU-Auslastung sind nur einige der Verhaltensprobleme, die vom Befehl powercfg /energy erkannt werden. Dieses Tool bietet eine einfache Möglichkeit, Energieverwaltungsprobleme zu identifizieren und zu beheben, was potenziell zu erheblichen Kosteneinsparungen in einem großen Rechenzentrum führen kann.
Weitere Informationen zu „powercfg.exe“ finden Sie unter Powercfg-Befehlszeilenoptionen.
Verwenden von Energiesparplänen in Windows Server
Windows Server 2016 verfügt über drei integrierte Energiesparpläne, die auf verschiedene Geschäftsanforderungen ausgelegt sind. Diese Pläne bieten Ihnen eine einfache Möglichkeit, einen Server so anzupassen, dass er Energieeffizienz- oder Leistungsziele erfüllt. In der folgenden Tabelle werden die Pläne beschrieben, die gängigen Szenarien aufgelistet, in denen die einzelnen Pläne verwendet werden sollen, und einige Implementierungsdetails für jeden Plan angegeben.
Planen | Beschreibung | Gängige anwendbare Szenarien | Implementierungshighlights |
---|---|---|---|
Ausgeglichen (empfohlen) | Standardeinstellung. Zielt auf eine gute Energieeffizienz mit minimalen Auswirkungen auf die Leistung ab. | Allgemeines Computing | Passt die Kapazität an den Bedarf an. Energiesparfeatures bewirken einen Ausgleich zwischen Energieeffizienz und Leistung. |
Hohe Leistung | Erhöht die Leistung auf Kosten eines hohen Energieverbrauchs. Es gelten Energie- und Temperaturbeschränkungen, Betriebskosten und Zuverlässigkeitsaspekte. | Apps mit geringer Latenz und App-Code, der empfindlich auf Änderungen der Prozessorleistung reagiert. | Prozessoren sind immer im höchsten Leistungszustand (einschließlich „Turbo“-Frequenzen) gesperrt. Alle Kerne sind nicht geparkt. Hitzeabstrahlung kann erheblich sein. |
Energiesparmodus | Schränkt die Leistung ein, um Energie zu sparen und die Betriebskosten zu senken. Nicht ohne gründliche Tests empfohlen, um sicherzustellen, dass die Leistung angemessen ist. | Bereitstellungen mit begrenzten Energiebudgets und thermischen Einschränkungen | Begrenzt die Prozessorfrequenz bei einem Prozentsatz des Maximums (sofern unterstützt), und ermöglicht andere Energiesparfeatures. |
Diese Energiesparpläne sind in Windows für Wechselstrom (AC)- und Gleichstromsysteme (DC) vorhanden, aber wir gehen davon aus, dass Server immer eine Wechselstromquelle verwenden.
Weitere Informationen zu Energiesparplänen und Energierichtlinienkonfigurationen finden Sie unter Powercfg-Befehlszeilenoptionen.
Hinweis
Einige Serverhersteller verfügen über eigene Energieverwaltungsoptionen in den BIOS-Einstellungen. Wenn das Betriebssystem keine Kontrolle über die Energieverwaltung hat, wirkt sich das Ändern der Energiesparpläne in Windows nicht auf die Energieeffizienz und Leistung des Systems aus.
Optimieren der Prozessorenergieverwaltungs-Parameter
Jeder Energiesparplan stellt eine Kombination aus zahlreichen zugrunde liegenden Energieverwaltungsparametern dar. Bei den integrierten Plänen handelt es sich um drei Sammlungen empfohlener Einstellungen, die eine Vielzahl unterschiedlicher Workloads und Szenarien abdecken. Wir sind uns jedoch bewusst, dass diese Pläne nicht den Anforderungen jedes Kunden entsprechen.
In den folgenden Abschnitten werden Möglichkeiten zum Optimieren einiger spezifischer Prozessorenergieverwaltungs-Parameter beschrieben, um Ziele zu erreichen, die von den drei integrierten Plänen nicht erfüllt werden. Wenn Sie Kenntnisse zu einem größeren Umfang von Energieparametern benötigen, lesen Sie Powercfg-Befehlszeilenoptionen.
Hardware Controlled P-states (HWP) von Intel
Ab den Broadwell-Prozessoren von Intel unter WS2016 verwendet die Windows PPM die Hardware Controlled P-states (HWP) von Intel. HWP sind eine neue Funktion für eine kooperative Kontrolle der Hardware- und Softwareleistung. Wenn HWP aktiviert sind, überwacht die CPU die Aktivität und Skalierbarkeit und wählt die Frequenz im Rahmen der Hardwarezeitskala aus. Das Betriebssystem ist nicht mehr erforderlich, um die Aktivität zu überwachen und die Frequenz in regelmäßigen Abständen auszuwählen. Der Wechsel zu HWP hat mehrere Vorteile:
- Schnelles Reagieren auf Burst-artige Workloads. Das Windows PPM-Überprüfungsintervall ist standardmäßig auf 30 ms festgelegt und kann auf höchstens 15 ms reduziert werden. HWP können die Frequenz jedoch so schnell wie jede 1 ms anpassen.
- Die CPU hat bessere Kenntnisse über die Energieeffizienz der Hardware in jedem P-state. Es kann eine bessere Auswahl der Prozessorfrequenz treffen, um die beste Energieeffizienz zu erzielen.
- Die CPU kann andere Hardwarenutzungen, wie z. B. Arbeitsspeicher, GPU usw., berücksichtigen, um bei einer bestimmten Wärmeleistung (Thermal Design Power, TDP) die beste Energieeffizienz zu erzielen.
Windows kann weiterhin den Mindest- und Höchstzustand des Prozessors festlegen, um den Frequenzbereich zu begrenzen, den die Prozessoren ausführen können. Es kann auch den folgenden EPP-Parameter des Prozessors (Energy Performance Preference Policy, Richtlinie für die bevorzugte Prozessorenergieeffizenz) festlegen, um für die HWP anzugeben, dass Energieeffizienz gegenüber der Leistung bevorzugt werden soll.
- Richtlinie für die bevorzugte Prozessorenergieeffizenz, um einen Ausgleich zwischen Energieeffizienz und Leistung festzulegen. Ein niedrigerer Wert begünstigt die Leistung, während ein höherer Wert die Energieeffizienz begünstigt. Der Wert kann zwischen 0 und 100 liegen. Der Standardwert ist 50; hierbei befinden sich Energieeffizienz und Leistung im Gleichgewicht.
Mit den folgenden Befehlen wird der EPP-Wert für den aktuellen Energiesparplan auf 0 reduziert, um die Energieeffizienz vollständig gegenüber der Leistung zu bevorzugen:
Powercfg -setacvalueindex scheme_current sub_processor PERFEPP 0
Powercfg -setactive scheme_current
Minimaler und maximaler Prozessorleistungszustand
Prozessoren wechseln sehr schnell zwischen Leistungszuständen (P-states), um das Angebot an die Nachfrage anzupassen und so bei Leistung zu liefern, wenn nötig, und Energie zu sparen, wenn möglich. Wenn Ihr Server spezifische Anforderungen an Hochleistung oder minimalen Energieverbrauch besitzt, sollten Sie erwägen, den Parameter Minimaler Prozessorleistungszustand oder den Parameter Maximaler Prozessorleistungszustand zu konfigurieren.
Die Werte für die Parameter Minimaler Prozessorleistungszustand und Maximaler Prozessorleistungszustand werden als Prozentsatz der maximalen Prozessorfrequenz mit einem Wert im Bereich von 0 bis 100 ausgedrückt.
Wenn Ihr Server extrem niedrige Latenz, invariante CPU-Frequenz (z. B. für reproduzierbare Tests) oder höchste Leistungsniveaus erfordert, sollten Sie vermeiden, dass die Prozessoren in Zustände mit niedrigerer Leistung wechseln. Für einen solchen Server können Sie den „Minimalen Prozessorleistungszustand“ mit den folgenden Befehlen auf 100 Prozent begrenzen:
Powercfg -setacvalueindex scheme_current sub_processor PROCTHROTTLEMIN 100
Powercfg -setactive scheme_current
Wenn Ihr Server niedrigeren Energieverbrauch erfordert, sollten Sie den Prozessorleistungszustand auf einen Prozentsatz des Maximalwerts begrenzen. Beispielsweise können Sie den Prozessor mit den folgenden Befehlen auf 75 Prozent seiner Maximalfrequenz beschränken:
Powercfg -setacvalueindex scheme_current sub_processor PROCTHROTTLEMAX 75
Powercfg -setactive scheme_current
Hinweis
Das Begrenzen der Prozessorleistung auf einen Prozentsatz des Maximalwerts erfordert Prozessorunterstützung. Überprüfen Sie die Prozessordokumentation, um festzustellen, ob eine solche Unterstützung vorhanden ist, oder sehen Sie sich den Systemmonitor-Leistungsindikator % der maximalen Frequenz in der Gruppe Prozessor an, um festzustellen, ob Frequenzbegrenzungen angewendet wurden.
Außerkraftsetzung der Reaktionsfähigkeit des Prozessors
Die auf der CPU-Auslastung basierenden Energieverwaltungsalgorithmen verwenden in der Regel eine durchschnittliche CPU-Auslastung innerhalb eines Zeitprüfungsfensters, um zu bestimmen, ob die Frequenz erhöht oder verringert werden muss. Dies kann die Latenz von Datenträger-E/A-Vorgängen oder von netzwerkintensiven Workloads beeinträchtigen. Ein logischer Prozessor kann sich im Leerlauf befinden, während er auf den Abschluss von Datenträger-E/A-Vorgängen oder Netzwerkpaketen wartet, wodurch die CPU-Auslastung insgesamt niedrig ist. Daraus resultierend wählt die Energieverwaltung eine niedrige Frequenz für diesen Prozessor. Dieses Problem besteht auch bei der HWP-basierten Energieverwaltung. Die DPCs und Threads, die den E/A-Abschluss oder die Netzwerkpakete verarbeiten, befinden sich im kritischen Pfad und sollten nicht mit niedriger Geschwindigkeit ausgeführt werden. Um dieses Problem zu beheben, berücksichtigt Windows PPM die Anzahl der DPCs. Wenn die DPC-Anzahl im vergangenen Überwachungsfenster über einem bestimmten Schwellenwert lag, tritt PPM in einen E/A-Reaktionfähigkeitszeitraum ein und erhöht die Frequenzuntergrenze auf ein höheres Niveau. Die Frequenzuntergrenze wird zurückgesetzt, wenn die DPC-Anzahl für eine gewisse Zeit niedrig genug gewesen ist. Das Verhalten kann durch die folgenden Parameter optimiert werden.
Parameter | Beschreibung | Standardwert | Mindestwert | Höchstwert |
---|---|---|---|---|
Aktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Anzahl der DPCs innerhalb einer Leistungsüberprüfung, oberhalb derer die Außerkraftsetzung der Prozessorreaktionsfähigkeit aktiviert werden soll. | 10 | 0 | – |
Deaktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Anzahl der DPCs innerhalb einer Leistungsüberprüfung, unterhalb derer die Außerkraftsetzung der Prozessorreaktionsfähigkeit deaktiviert werden soll. | 5 | 0 | – |
Aktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Anzahl der aufeinanderfolgenden Leistungsüberprüfungen, die den Aktivierungsschwellenwert erfüllen müssen, bevor Außerkraftsetzungen der Prozessorreaktionsfähigkeit aktiviert werden. | 1 | 1 | 100 |
Deaktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Anzahl der aufeinanderfolgenden Leistungsüberprüfungen, die Deaktivierungsschwellenwert erfüllen müssen, bevor Außerkraftsetzungen der Prozessorreaktionsfähigkeit deaktiviert werden. | 3 | 1 | 100 |
Leistungsuntergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Zulässige Prozessormindestleistung, wenn Außerkraftsetzungen der Prozessorreaktionsfähigkeit aktiviert sind. | 100 | 0 | 100 |
Energieeffizienzobergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors | Maximaler Richtlinienwert für die bevorzugte Prozessorenergieeffizenz bei aktivierten Außerkraftsetzungen der Prozessorreaktionsfähigkeit. | 100 | 0 | 100 |
Wenn Ihre Serverworkload z. B. nicht empfindlich auf Latenz reagiert und die Außerkraftsetzung der Reaktionsfähigkeit lockern möchte, um die Energieeffizienz zu begünstigen, können Sie den Aktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors und die Aktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors erhöhen, den Deaktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors und die Deaktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors verringern. Dann kann das System nur noch schwer in den Zustand der Außerkraftsetzung der Reaktionsfähigkeit wechseln. Der Standardwert für die Leistungsuntergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors ist auf 100 festgelegt, sodass der Außerkraftsetzungszeitraum für die Reaktionsfähigkeit mit maximaler Frequenz ausgeführt wird. Sie können auch die Prozessorleistungs-Untergrenze senken und die Energieeffizienzobergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors verringern, damit HWP die Frequenz anpassen kann. Im Folgenden finden Sie die Beispielbefehle zum Festlegen der Parameter für den aktuellen aktiven Energiesparplan.
Powercfg -setacvalueindex scheme_current sub_processor RESPENABLETHRESHOLD 100
Powercfg -setacvalueindex scheme_current sub_processor RESPDISABLETHRESHOLD 1
Powercfg -setacvalueindex scheme_current sub_processor RESPENABLETIME 10
Powercfg -setacvalueindex scheme_current sub_processor RESPDISABLETIME 1
Powercfg -setacvalueindex scheme_current sub_processor RESPPERFFLOOR 5
Powercfg -setacvalueindex scheme_current sub_processor RESPEPPCEILING 50
Powercfg -setactive scheme_current
Leistungssteigerungsmodus für Prozessoren
Diese Parameteroptimierung gilt nur für Nicht-HWP-Systeme.
Intel Turbo Boost- und AMD Turbo CORE-Technologien sind Features, die es Prozessoren ermöglichen, zusätzliche Leistung zu erzielen, wenn sie am nützlichsten ist (d. h. bei hohen Systemlasten). Dieses Feature erhöht jedoch den CPU-Kernenergieverbrauch, sodass Windows Server 2016 Turbo-Technologien basierend auf der verwendeten Energierichtlinie und der spezifischen Prozessorimplementierung konfiguriert.
Turbo ist für Hochleistungs-Energiesparpläne auf allen Intel- und AMD-Prozessoren aktiviert und für Energiesparmodus-Energiesparpläne deaktiviert. Für Energiepläne „Ausgeglichen“ auf Systemen, die mit der herkömmlichen P-state-basierten Frequenzverwaltung arbeiten, ist Turbo standardmäßig nur aktiviert, wenn die Plattform das EPB-Register unterstützt.
Hinweis
Das EPB-Register wird nur in Intel Westmere-Prozessoren und neueren Prozessoren unterstützt.
Für Intel Nehalem- und AMD-Prozessoren ist Turbo auf P-state-basierten Plattformen standardmäßig deaktiviert. Wenn ein System jedoch CPPC (Collaborative Processor Performance Control) unterstützt, wobei es sich um einen neuen alternativen Modus der Leistungskommunikation zwischen dem Betriebssystem und der Hardware handelt (definiert in ACPI 5.0), kann Turbo verwendet werden, wenn das Windows-Betriebssystem bei der Hardware dynamisch anfordert, die höchstmöglichen Leistungsniveaus bereitzustellen.
Um die Turbo Boost-Funktion zu aktivieren oder zu deaktivieren, muss der Parameter „Leistungssteigerungsmodus für Prozessoren“ vom Administrator oder über die Standardparametereinstellungen für den ausgewählten Energiesparplan konfiguriert werden. Der „Leistungssteigerungsmodus für Prozessoren“ verfügt über fünf zulässige Werte, wie in Tabelle 5 gezeigt.
Bei P-state-basierter Steuerung sind die Optionen „Deaktiviert“, „Aktiviert“ (Turbo ist für die Hardware verfügbar, wenn die nominale Leistung angefordert wird) und „Effizient“ (Turbo ist nur verfügbar, wenn das EPB-Register implementiert ist).
Bei CPPC-basierter Steuerung sind die Optionen „Deaktiviert“, „Effizient aktiviert“ (Windows gibt die genaue Menge an bereitzustellendem Turbo an) und „Aggressiv“ (Windows fordert „maximale Leistung“ an, um Turbo zu aktivieren).
In Windows Server 2016 ist der Standardwert für den Leistungssteigerungsmodus 3.
Name | P-state-basiertes Verhalten | CPPC-Verhalten |
---|---|---|
0 (Deaktiviert) | Disabled | Disabled |
1 (Aktiviert) | Aktiviert | Effizient aktiviert |
2 (Aggressiv) | Aktiviert | Aggressive |
3 (Effizient aktiviert) | Effizient | Effizient aktiviert |
4 (Effizient aggressiv) | Effizient | Aggressive |
Die folgenden Befehle aktivieren den „Leistungssteigerungsmodus für Prozessoren“ für den aktuellen Energiesparplan (geben Sie die Richtlinie mithilfe eines GUID-Alias an):
Powercfg -setacvalueindex scheme_current sub_processor PERFBOOSTMODE 1
Powercfg -setactive scheme_current
Wichtig
Sie müssen den Befehl powercfg -setactive ausführen, um die neuen Einstellungen zu aktivieren. Sie müssen den Server nicht neu starten.
Um diesen Wert für andere Energiesparpläne als den aktuell ausgewählten Plan festzulegen, können Sie Aliase wie SCHEME_MAX (Energiesparmodus), SCHEME_MIN (Hochleistung) und SCHEME_BALANCED (Ausgeglichen) anstelle von SCHEME_CURRENT verwenden. Ersetzen Sie „scheme current“ in den zuvor gezeigten „powercfg -setactive“-Befehlen durch den gewünschten Alias, um den jeweiligen Energiesparplan zu aktivieren.
Um beispielsweise den Leistungssteigerugnsmodus im Energiesparmodus-Plan anzupassen und diesen „Energiesparmodus“ zum aktuellen Plan zu machen, führen Sie die folgenden Befehle aus:
Powercfg -setacvalueindex scheme_max sub_processor PERFBOOSTMODE 1
Powercfg -setactive scheme_max
Erhöhung und Senkung von Schwellenwerten und Richtlinien für die Prozessorleistung
Diese Parameteroptimierung gilt nur für Nicht-HWP-Systeme.
Die Geschwindigkeit, mit der sich ein Prozessorleistungszustand erhöht oder verringert, wird durch mehrere Parameter gesteuert. Die folgenden vier Parameter haben die sichtbarsten Auswirkungen:
Schwellenwert zum Erhöhen der Prozessorleistung definiert den Auslastungswert, oberhalb dessen sich der Leistungszustand eines Prozessors erhöht. Größere Werte verlangsamen die Steigerungsrate für den Leistungszustand als Reaktion auf erhöhte Aktivitäten.
Schwellenwert zum Reduzieren der Prozessorleistung definiert den Auslastungswert, unterhalb dessen sich der Leistungszustand eines Prozessors verringert. Größere Werte erhöhen die Verringerungsrate für den Leistungszustand während Leerlaufphasen.
„Prozessorleistung – Erhöhungsrichtlinie“ und „Prozessorleistung – Reduzierungsrichtlinie“ bestimmen, welcher Leistungszustand festgelegt werden soll, wenn eine Änderung eintritt. „Einzelne“ (Single) Richtlinie bedeutet, dass sie den nächsten Zustand wählt. „Rakete“ (Rocket) bedeutet den maximalen oder minimalen Energieleistungszustand. „Ideal“ versucht, ein Gleichgewicht zwischen Energieeffizienz und Leistung zu finden.
Wenn Ihr Server beispielsweise eine extrem niedrige Latenz benötigt, während Sie im Leerlauf weiterhin von geringem Energieverbrauch profitieren möchten, können Sie die Leistungszustandserhöhung bei jedem Lastanstieg beschleunigen und die Verringerung bei sinkender Last verlangsamen. Mit den folgenden Befehlen wird die Erhöhungsrichtlinie auf „Rakete“ festgelegt, um den Zustand schneller zu erhöhen, und die Reduzierungsrichtlinie wird auf „Einzeln“ festgelegt. Die Schwellenwerte für Erhöhung und Verringerung werden auf 10 bzw. 8 festgelegt.
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFINCPOL 2
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFDECPOL 1
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFINCTHRESHOLD 10
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFDECTHRESHOLD 8
Powercfg.exe /setactive scheme_current
Prozessorleistung: Parken von Kernen – Kerne maximal und minimal
Das Parken von Kernen ist eine Funktion, die in Windows Server 2008 R2 eingeführt wurde. Die Prozessorenergieverwaltungs-Engine (PPM) und der Zeitplaner arbeiten zusammen, um die Anzahl der Kerne, die zum Ausführen von Threads verfügbar sind, dynamisch anzupassen. Die PPM-Engine wählt eine Mindestanzahl von Kernen für die Threads aus, die geplant werden.
Für Kerne, die geparkt sind, sind in der Regel keine Threads geplant, und sie wechseln in sehr niedrige Energieverbrauchszustände, wenn sie keine Interrupts, DPCs oder anderen streng zugeordneten Arbeiten verarbeiten. Die restlichen Kerne sind für den Rest der Workload verantwortlich. Das Parken von Kernen kann die Energieeffizienz währen Phasen geringerer Nutzung potenziell erhöhen.
Für die meisten Server bietet das Standardverhalten beim Parken von Kernen ein angemessenes Gleichgewicht zwischen Durchsatz und Energieeffizienz. Auf Prozessoren, bei denen das Parken von Kernen bei generischen Workloads möglicherweise nicht so viel Nutzen zeitigt, kann es standardmäßig deaktiviert werden.
Wenn Ihr Server bestimmte Anforderungen an das Parken von Kernen aufweist, können Sie die Anzahl der zum Parken verfügbaren Kerne steuern, indem Sie den Parameter Prozessorleistung: Parken von Kernen – Kerne maximal oder Prozessorleistung: Parken von Kernen – Kerne minimal in Windows Server 2016 verwenden.
Ein Szenario, für das das Parken von Kernen nicht immer optimal ist, ist, wenn ein oder mehrere aktive Threads einer nicht trivialen Teilmenge von CPUs in einem NUMA-Knoten zugeordnet sind (d. h. mehr als 1 CPU, aber weniger als der gesamte Satz von CPUs auf dem Knoten). Wenn der Algorithmus für das Parken von Kernen Kerne zum Aufheben des Parkens auswählt (vorausgesetzt, dass eine Erhöhung der Workloadintensität auftritt), wählt er möglicherweise nicht immer die Kerne innerhalb der aktiven zugeordneten Teilmenge (oder Teilmengen) aus, um deren Parken zu deaktivieren, weshalb es dann vorkommen kann, dass das Parken von Kernen aufgehoben wird, die nicht tatsächlich genutzt werden.
Die Werte für diese Parameter sind Prozentwerte im Bereich von 0 bis 100. Der Parameter Prozessorleistung: Parken von Kernen – Kerne maximal steuert den maximalen Prozentsatz von Kernen, deren Parken jederzeit aufgehoben werden kann (verfügbar zum Ausführen von Threads), während der Parameter Prozessorleistung: Parken von Kernen – Kerne minimal den minimalen Prozentsatz von Kernen steuert, deren Parken aufgehoben werden kann. Um das Parken von Kernen zu deaktivieren, legen Sie den Parameter Prozessorleistung: Parken von Kernen – Kerne minimal mithilfe der folgenden Befehle auf 100 Prozent fest:
Powercfg -setacvalueindex scheme_current sub_processor CPMINCORES 100
Powercfg -setactive scheme_current
Um die Anzahl der planbaren Kerne auf 50 Prozent der Maximalzahl zu reduzieren, legen Sie den Parameter Prozessorleistung: Parken von Kernen – Kerne maximal wie folgt auf 50 fest:
Powercfg -setacvalueindex scheme_current sub_processor CPMAXCORES 50
Powercfg -setactive scheme_current
Prozessorleistung: Verteilung des Hilfsprogramms zum Parken von Kernen
„Nutzungsverteilung“ (Utility Distribution) ist eine algorithmische Optimierung in Windows Server 2016, die darauf ausgelegt ist, die Energieeffizienz für einige Workloads zu verbessern. Sie verfolgt nicht verschiebbare CPU-Aktivitäten nach (d. h. DPCs, Interrupts oder streng zugeordnete Threads) und prognostiziert die zukünftige Auslastung für jeden Prozessor, basierend auf der Annahme, dass alle verschiebbaren Lasten gleichmäßig auf alle nicht geparkten Kerne verteilt werden können.
Nutzungsverteilung ist standardmäßig für den Energiesparplan „Ausgeglichen“ für einige Prozessoren aktiviert. Sie kann den Stromverbrauch von Prozessoren reduzieren, indem die angeforderten CPU-Frequenzen von Workloads, die sich in einem hinreichend stabilen Zustand befinden, gesenkt werden. Die Nutzungsverteilung ist jedoch nicht unbedingt eine gute algorithmische Wahl für Workloads, die hohen Aktivitätsspitzen unterliegen, oder für Programme, bei denen die Workload schnell und zufällig zwischen Prozessoren verschoben wird.
Für solche Workloads empfiehlt es sich, die Nutzungsverteilung mit den folgenden Befehlen zu deaktivieren:
Powercfg -setacvalueindex scheme_current sub_processor DISTRIBUTEUTIL 0
Powercfg -setactive scheme_current
Weitere Verweise
- Überlegungen zur Leistung von Serverhardware
- Server Hardware Power Considerations (Überlegungen zum Energiebedarf von Serverhardware)
- Optimierung der Prozessorenergieverwaltung (PPM) für den Windows Server-Energiesparplan