DPC und Kernel Executive Workers in Windows 11 25H2
Auf dieser Seite
Kurze Antwort
Abschnitt betitelt „Kurze Antwort“Die Gruppe der DpcQueueDepth, Worker-Limits und Watchdog-Parameter wird oft als Satz universeller Latency-Tweaks wahrgenommen. Tatsächlich handelt es sich um interne Limits und Schutzmechanismen des Kernels. Ihre Wirkung zeigt sich nur bei einer konkreten DPC-Queue, einer bestimmten Prozessoranzahl, einem bestimmten Treibertyp oder einem Worker-Fehler.
Was geprüft wurde
Abschnitt betitelt „Was geprüft wurde“Geprüft wurde, welche Limits für DPC, Worker-Threads und Watchdog der Kernel liest, wie die Werte normalisiert werden und wo diese Mechanismen tatsächlich angewendet werden.
Untersuchungsbereich
Abschnitt betitelt „Untersuchungsbereich“Windows 11 25H2 build 26200.9168, Zweige Session Manager\Kernel und Session Manager\Executive. Hardwareabhängige Funktionen und konkrete Treiber waren nicht Teil der Messungen.
Methodik
Abschnitt betitelt „Methodik“Statische Analyse von ntoskrnl.exe: Suche nach Readern und Konsumenten, Prüfung von Wertebereichen und Normalisierung der Werte; Abgleich mit der öffentlichen Dokumentation von Microsoft.
Kanonischer Pfad und Werte
Abschnitt betitelt „Kanonischer Pfad und Werte“Pfad für DPC und Watchdog:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel
| Value | Type | Default/normalization | Was gesteuert wird |
|---|---|---|---|
DpcQueueDepth |
REG_DWORD |
4 |
Tiefe der DPC-Queue |
MinimumDpcRate |
REG_DWORD |
3 |
minimale Frequenz der DPC-Verarbeitung |
IdealDpcRate |
REG_DWORD |
20 |
Ziel-DPC-Rate |
AdjustDpcThreshold |
REG_DWORD |
20 |
Anpassungsschwelle der DPC-Policy |
ThreadDpcEnable |
REG_DWORD |
1 |
Thread-DPC-Verarbeitung |
DpcWatchdogPeriod |
REG_DWORD |
120000 |
DPC-Watchdog-Periode |
DpcCumulativeSoftTimeout |
REG_DWORD |
120000 im untersuchten Build |
akkumuliertes Soft-Budget |
PassiveWatchdogTimeout |
REG_DWORD |
300 Sekunden |
Passive-Level-Watchdog bei KD |
ForceIdleGracePeriod |
REG_DWORD |
5 Sekunden |
Force-Idle-Grace-Period |
PerfIsoEnabled |
REG_DWORD |
0 |
Performance-Isolation |
CacheIsoBitmap |
REG_DWORD |
0 |
Intel-CAT-L3-Maske |
SchedulerAssistThreadFlagOverride |
REG_DWORD |
0 |
Scheduler-Assist-Override |
VpThreadSystemWorkPriority |
REG_DWORD |
30, Bereich 1..31 |
Arbeitspriorität virtueller Prozessoren |
AlwaysTrackIoBoosting |
REG_DWORD |
0 |
diagnostisches I/O-Boost-Tracking |
Pfad für Kernel Executive workers:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Executive
| Value | Type | Default/normalization | Was gesteuert wird |
|---|---|---|---|
AdditionalCriticalWorkerThreads |
REG_DWORD |
0, Clamp 0..100 |
zusätzliche Critical-Worker |
AdditionalDelayedWorkerThreads |
REG_DWORD |
0, Clamp 0..100 |
Delayed-Worker |
MaximumKernelWorkerThreads |
REG_DWORD |
4096, 32..16384 |
Obergrenze der Kernel-Worker |
ForceEnableMutantAutoboost |
REG_DWORD |
0 |
Mutant-Autoboost |
WorkerThreadTimeoutInSeconds |
REG_DWORD |
600, 60..3600 |
Worker-Timeout |
Session Manager\Kernel und Session Manager\Executive sind unterschiedliche Konfigurationszweige. Für jeden Wert ist der Pfad wichtig, den der Kernel-Reader im jeweiligen Build öffnet.
DPC-Queue und Raten
Abschnitt betitelt „DPC-Queue und Raten“Der Kernel verwendet DpcQueueDepth, MinimumDpcRate, IdealDpcRate und AdjustDpcThreshold zur Steuerung der Queue und zur Anpassung der DPC-Verarbeitung. Die geprüften Defaults 4/3/20/20 stimmen bereits mit dem regulären Zustand von Windows 11 25H2 überein; ein erneutes Schreiben dieser Zahlen ändert nichts.
Nutzen: Diese Parameter können bei der Analyse eines konkreten DPC-Backlogs nützlich sein, doch ohne ETW/WPR-Trace diagnostiziert eine Änderung blind nicht die Ursache. Eine große Queue kann die Verarbeitung verzögern und den Latenz-Schwanz vergrößern.
Thread-DPC und Worker-Limits
Abschnitt betitelt „Thread-DPC und Worker-Limits“ThreadDpcEnable=1 aktiviert die Threaded-DPC-Infrastruktur, 0 führt die Arbeit in den normalen DIRQL-Pfad zurück und kann Interrupt-off-Fenster verlängern. MaximumKernelWorkerThreads begrenzt den gemeinsamen Pool der Kernel-Worker. AdditionalCriticalWorkerThreads und AdditionalDelayedWorkerThreads werden zu den Basispools addiert: unter Client-Windows sind das entsprechend 5 Critical- und 7 Delayed-Worker vor Anwendung des Overrides.
Mehr Threads bedeuten nicht weniger Latenz: zusätzliche Worker verbrauchen Stack, Scheduler-Zeit und Cache-Ressourcen, und die Queue kann durch eine andere Komponente begrenzt sein. AdditionalDelayedWorkerThreads=32 fügt tatsächlich Delayed-Worker hinzu, doch es gibt keinen gemessenen universellen Gewinn.
Watchdog und Timeout
Abschnitt betitelt „Watchdog und Timeout“DpcCumulativeSoftTimeout begrenzt die akkumulierte DPC-Zeit. DpcWatchdogPeriod=0 ist zulässig und deaktiviert diesen Watchdog; jeder von null verschiedene Wert unter 2000 wird zu 2000 ms. PassiveWatchdogTimeout wird nur bei aktiviertem Kernel-Debugger verwendet, daher ist dieser Timer auf einem normalen System selbst bei regulären 300 Sekunden nicht aktiv. WorkerThreadTimeoutInSeconds begrenzt das Hängenbleiben einer Worker-Operation.
DpcCumulativeSoftTimeout hat eine Untergrenze von 2000 ms und kann DpcWatchdogPeriod nicht überschreiten. Um den Wert 240000 zu erhalten, muss die Watchdog-Periode ebenfalls 240000 betragen. WorkerThreadTimeoutInSeconds wird in den Bereich 60..3600 Sekunden normalisiert; das Schreiben von 0 deaktiviert den Timeout nicht, sondern führt zum Minimalwert.
Das Deaktivieren des Schutz-Timeouts entfernt die Diagnose, behebt aber nicht die Ursache der Blockierung. Für ein Produktionssystem ist der Watchdog Teil des Mechanismus zur Erkennung fehlerhafter Treiber.
Kernel-Executive-Policy
Abschnitt betitelt „Kernel-Executive-Policy“ForceEnableMutantAutoboost befindet sich im Zweig Executive, während ForceIdleGracePeriod, PerfIsoEnabled, CacheIsoBitmap, SchedulerAssistThreadFlagOverride, VpThreadSystemWorkPriority und AlwaysTrackIoBoosting aus dem Zweig Kernel gelesen werden. Dieser Unterschied ist kritisch: Ein gleichnamiger Eintrag im benachbarten Unterschlüssel wird nicht angewendet.
CacheIsoBitmap wird nur bei Unterstützung von Intel Resource Director/CAT verwendet; ohne CAT erzeugt der Wert keine Isolation. SchedulerAssistThreadFlagOverride=0 und 1 belassen die automatische Aktivierung, 2 deaktiviert den Zweig zwangsweise. VpThreadSystemWorkPriority erlaubt 1..31, andernfalls wird auf 1 zurückgesetzt; Default ist 30, und 31 ist lediglich die Obergrenze. AlwaysTrackIoBoosting=1 aktiviert diagnostische Allocation und Stack-Capture auf Boost-Pfaden und hält die I/O-Priorität nicht erhöht.
Nutzen: Ohne bestätigten Consumer-Effekt ist die Wirkung meist absent oder zu klein für eine praktische Entscheidung. Solche Werte sind als Gegenstand einer separaten Kernel-Diagnose nützlich, nicht als allgemeiner Optimierungssatz.
Ergebnisse
Abschnitt betitelt „Ergebnisse“Die geprüften Defaults 4/3/20/20 stimmen mit dem regulären Zustand von Windows 11 25H2 überein. Zusätzliche Worker sind standardmäßig gleich null, die Obergrenze der Kernel-Worker beträgt 4096 mit einem Bereich von 32..16384. Watchdog-Parameter werden normalisiert: Ein Wert unter 2000 ms wird zu 2000, und DpcCumulativeSoftTimeout überschreitet die Watchdog-Periode nicht. Die Zweige Kernel und Executive sind nicht austauschbar.
Was bestätigt ist
Abschnitt betitelt „Was bestätigt ist“- Reader und Konsumenten der Parameter in
ntoskrnl.exedes untersuchten Builds. - Standardwerte und Normalisierungsgrenzen, einschließlich der Abhängigkeiten zwischen Watchdog-Parametern.
- Die Trennung der Zweige
KernelundExecutive: Ein gleichnamiger Eintrag im benachbarten Unterschlüssel wird nicht angewendet.
Was nicht bestätigt ist
Abschnitt betitelt „Was nicht bestätigt ist“- Der Einfluss einer Änderung der Parameter auf FPS, Latenz oder Reaktionsfähigkeit.
- Der Nutzen einer Änderung der Limits ohne bestätigtes Problem mit der DPC-Queue oder einem Worker.
Praktische Schlussfolgerung
Abschnitt betitelt „Praktische Schlussfolgerung“Ändern Sie diese Parameter nicht blind: Ohne ETW/WPR-Trace lässt sich die Ursache des Backlogs nicht feststellen. Für ein Arbeitssystem halten Sie den Watchdog aktiviert, und verwenden Sie die Parameter zur Diagnose, nicht als Optimierungssatz.
Wiederherstellung des Zustands
Abschnitt betitelt „Wiederherstellung des Zustands“Stellen Sie die regulären Werte wieder her oder löschen Sie die optionalen Einträge. Kernel-Parameter werden beim nächsten Start von Windows angewendet.
Quellen und Einschränkungen
Abschnitt betitelt „Quellen und Einschränkungen“Reader und Consumer wurden in ntoskrnl.exe Windows 11 25H2 build 26200.9168 geprüft. Offsets oder Pseudocode werden nicht veröffentlicht. Endnutzer-Metriken waren nicht Teil dieser Serie.
- DPCs and threads, Microsoft Learn, geprüft am 2026-09-01.
- Bug checks 0x133 DPC_WATCHDOG_VIOLATION, Microsoft Learn, geprüft am 2026-09-01.
Wie der dynamische Teil der Beobachtungen wiederholt werden kann — siehe Wie man selbst prüft.
Die Untersuchung und die verwendeten Werkzeuge gehören dem Entwickler von BoosterX, daher hat der Entwickler ein direktes Interesse an den Ergebnissen. Methodik und Anwendungsgrenzen sind oben beschrieben, und die Schlussfolgerungen lassen sich anhand offener Daten und der aufgeführten öffentlichen Quellen überprüfen.
Öffentliche Quellen geprüft: 2026-09-02.
Änderungsverlauf
Abschnitt betitelt „Änderungsverlauf“- 2026-09-20: Der Abschnitt „Ergebnisse“ wurde an die verpflichtende Stelle vor „Wiederherstellung des Zustands“ verschoben; ein Disclaimer zum Interessenkonflikt und ein Link zur selbstständigen Prüfung der dynamischen Beobachtungen in der Methodik wurden hinzugefügt.
- 2026-09-02: Erste Veröffentlichung; Reader, Defaults und Clamps bestätigt, Grenzen des praktischen Nutzens hinzugefügt.
