Pāriet uz saturu

DPC un Kernel Executive workers operētājsistēmā Windows 11 25H2

Šajā lapā

Grupa DpcQueueDepth, worker limits un watchdog-parametru bieži tiek uztverta kā universālu latency tweaks kopums. Patiesībā tie ir kodola iekšējie limiti un aizsardzības mehānismi. To efekts izpaužas tikai pie konkrētas DPC rindas, procesoru skaita, draivera tipa vai worker kļūdas.

Tika pārbaudīts, kādus DPC, worker threads un watchdog limitus kodols nolasa, kā tiek normalizētas vērtības un kur šie mehānismi patiešām tiek piemēroti.

Windows 11 25H2 build 26200.9168, atzari Session Manager\Kernel un Session Manager\Executive. Ar aparatūru saistītas funkcijas un konkrēti draiveri mērījumos netika iekļauti.

Statiskā analīze ntoskrnl.exe: readers un patērētāju meklēšana, vērtību diapazonu un normalizācijas pārbaude; salīdzināšana ar Microsoft publisko dokumentāciju.

DPC un watchdog ceļš:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel

Value Type Default/normalization Что управляет
DpcQueueDepth REG_DWORD 4 DPC queue dziļums
MinimumDpcRate REG_DWORD 3 minimālā DPC apstrādes frekvence
IdealDpcRate REG_DWORD 20 mērķa DPC rate
AdjustDpcThreshold REG_DWORD 20 DPC policy adaptācijas slieksnis
ThreadDpcEnable REG_DWORD 1 thread-DPC processing
DpcWatchdogPeriod REG_DWORD 120000 DPC watchdog periods
DpcCumulativeSoftTimeout REG_DWORD 120000 pētītajā buildā uzkrātais soft budget
PassiveWatchdogTimeout REG_DWORD 300 sekundes passive-level watchdog pie KD
ForceIdleGracePeriod REG_DWORD 5 sekundes force-idle grace period
PerfIsoEnabled REG_DWORD 0 performance isolation
CacheIsoBitmap REG_DWORD 0 Intel CAT L3 mask
SchedulerAssistThreadFlagOverride REG_DWORD 0 scheduler assist override
VpThreadSystemWorkPriority REG_DWORD 30, diapazons 1..31 virtual processor work priority
AlwaysTrackIoBoosting REG_DWORD 0 diagnostikas I/O boost tracking

Kernel Executive workers ceļš:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Executive

Value Type Default/normalization Что управляет
AdditionalCriticalWorkerThreads REG_DWORD 0, clamp 0..100 papildu critical workers
AdditionalDelayedWorkerThreads REG_DWORD 0, clamp 0..100 delayed workers
MaximumKernelWorkerThreads REG_DWORD 4096, 32..16384 kernel workers augšējā robeža
ForceEnableMutantAutoboost REG_DWORD 0 mutant autoboost
WorkerThreadTimeoutInSeconds REG_DWORD 600, 60..3600 worker timeout

Session Manager\Kernel un Session Manager\Executive ir dažādi konfigurācijas atzari. Katrai vērtībai svarīgs ir ceļš, ko kodola reader atver šajā buildā.

Kodols izmanto DpcQueueDepth, MinimumDpcRate, IdealDpcRate un AdjustDpcThreshold rindas kontrolei un DPC processing adaptācijai. Pārbaudītie defaults 4/3/20/20 jau sakrīt ar Windows 11 25H2 standarta stāvokli; šo skaitļu atkārtota ierakstīšana neko nemaina.

Lietderība: šie parametri var būt noderīgi konkrēta DPC backlog analīzē, taču bez ETW/WPR trases izmaiņas akli nediagnosticē cēloni. Liela rinda var atlikt apstrādi un palielināt aiztures asti.

ThreadDpcEnable=1 ieslēdz threaded-DPC infrastruktūru, 0 atgriež darbu parastajā DIRQL path un var pagarināt interrupt-off logus. MaximumKernelWorkerThreads ierobežo kopējo kernel workers pool. AdditionalCriticalWorkerThreads un AdditionalDelayedWorkerThreads tiek pievienoti bāzes poolem: klienta Windows tas ir attiecīgi 5 critical un 7 delayed workers pirms override piemērošanas.

Vairāk pavedienu nenozīmē mazāku latency: papildu workers patērē stack, scheduler time un cache resources, un rindu var ierobežot cits komponents. AdditionalDelayedWorkerThreads=32 patiešām pievieno delayed workers, taču izmērīta universāla ieguvuma nav.

DpcCumulativeSoftTimeout ierobežo uzkrāto DPC laiku. DpcWatchdogPeriod=0 ir pieļaujams un izslēdz šo watchdog; jebkura nulles vērtība zem 2000 kļūst par 2000 ms. PassiveWatchdogTimeout tiek izmantots tikai ar ieslēgtu kernel debugger, tāpēc parastā sistēmā šis timer nav aktīvs pat pie standarta 300 sekundēm. WorkerThreadTimeoutInSeconds ierobežo worker operation iekāršanos.

DpcCumulativeSoftTimeout ir apakšējā robeža 2000 ms un nevar pārsniegt DpcWatchdogPeriod. Lai iegūtu vērtību 240000, arī watchdog period jābūt 240000. WorkerThreadTimeoutInSeconds tiek normalizēts diapazonā 60..3600 sekundes; ieraksts 0 neizslēdz timeout, bet noved pie minimālās vērtības.

Aizsardzības timeout izslēgšana noņem diagnostiku, bet neizlabo bloķēšanas cēloni. Production sistēmā watchdog ir daļa no bojātu draiveru noteikšanas mehānisma.

ForceEnableMutantAutoboost atrodas atzarā Executive, bet ForceIdleGracePeriod, PerfIsoEnabled, CacheIsoBitmap, SchedulerAssistThreadFlagOverride, VpThreadSystemWorkPriority un AlwaysTrackIoBoosting tiek nolasīti no atzara Kernel. Šī atšķirība ir kritiska: tāda paša nosaukuma ieraksts blakus apakšatslēgā netiek piemērots.

CacheIsoBitmap tiek izmantots tikai ar Intel Resource Director/CAT atbalstu; bez CAT vērtība nerada izolāciju. SchedulerAssistThreadFlagOverride=0 un 1 atstāj automātisko ieslēgšanu, 2 piespiedu kārtā izslēdz atzaru. VpThreadSystemWorkPriority pieļauj 1..31, citādi tiek atiestatīts uz 1; default 30, bet 31 ir tikai augšējā robeža. AlwaysTrackIoBoosting=1 ieslēdz diagnostikas allocation un stack-capture uz boost paths, nevis notur I/O priority paaugstinātu.

Lietderība: bez apstiprināta consumer efekts parasti nav vai ir pārāk mazs praktiskam risinājumam. Šādas vērtības ir noderīgas kā atsevišķas kernel diagnostikas priekšmets, nevis kā vispārīgs optimizācijas kopums.

Pārbaudītie defaults 4/3/20/20 sakrīt ar Windows 11 25H2 standarta stāvokli. Papildu workers pēc noklusējuma ir vienādi ar nulli, kernel workers augšējā robeža — 4096 ar diapazonu 32..16384. Watchdog-parametri tiek normalizēti: vērtība zem 2000 ms kļūst par 2000, bet DpcCumulativeSoftTimeout nepārsniedz watchdog periodu. Atzari Kernel un Executive nav savstarpēji aizstājami.

  • Parametru readers un patērētāji ntoskrnl.exe pētītajā buildā.
  • Noklusējuma vērtības un normalizācijas robežas, tostarp atkarības starp watchdog-parametriem.
  • Atzaru Kernel un Executive nošķiršana: tāda paša nosaukuma ieraksts blakus apakšatslēgā netiek piemērots.
  • Parametru izmaiņu ietekme uz FPS, aizturi vai atsaucību.
  • Limitu maiņas lietderība bez apstiprinātas DPC rindas vai worker problēmas.

Nemainiet šos parametrus akli: bez ETW/WPR trases backlog cēloni noteikt nevar. Darba sistēmā saglabājiet watchdog ieslēgtu, bet parametrus izmantojiet diagnostikai, nevis kā optimizācijas kopumu.

Atgrieziet standarta vērtības vai izdzēsiet neobligātos ierakstus. Kodola parametri tiek piemēroti nākamajā Windows palaišanā.

Readers un consumers pārbaudīti ntoskrnl.exe Windows 11 25H2 build 26200.9168. Offsets vai pseidokods netiek publicēti. Galalietotāju metrikas šajā sērijā netika iekļautas.

Kā atkārtot novērojumu dinamisko daļu — skatiet Kā pārbaudīt patstāvīgi.

Pētījums un izmantotie rīki pieder BoosterX izstrādātājam, tāpēc izstrādātājam ir tieša interese par rezultātiem. Metodika un piemērojamības robežas ir aprakstītas iepriekš, un secinājumus var pārbaudīt pēc atklātajiem datiem un uzskaitītajiem publiskajiem avotiem.

Publiskie avoti pārbaudīti: 2026-09-02.

  • 2026-09-20: sadaļa «Rezultāti» pārvietota uz obligāto vietu pirms «Stāvokļa atjaunošana»; pievienots interešu konflikta atruna un saite uz dinamisku novērojumu patstāvīgu pārbaudi metodikā.
  • 2026-09-02: pirmā publikācija; apstiprināti readers, defaults un clamps, pievienotas praktiskās lietderības robežas.