Lewati ke konten

DPC dan Kernel Executive workers di Windows 11 25H2

Di halaman ini

Grup DpcQueueDepth, worker limits, dan parameter watchdog sering dianggap sebagai sekumpulan latency tweaks universal. Kenyataannya ini adalah batas internal dan mekanisme perlindungan kernel. Efeknya hanya muncul pada antrean DPC tertentu, jumlah prosesor, jenis driver, atau kesalahan worker tertentu.

Diperiksa batas DPC, worker threads, dan watchdog apa saja yang dibaca kernel, bagaimana nilai dinormalisasi, dan di mana mekanisme ini benar-benar diterapkan.

Windows 11 25H2 build 26200.9168, cabang Session Manager\Kernel dan Session Manager\Executive. Fungsi yang bergantung pada perangkat keras dan driver tertentu tidak termasuk dalam pengukuran.

Analisis statis ntoskrnl.exe: pencarian readers dan konsumen, pemeriksaan rentang dan normalisasi nilai; verifikasi silang dengan dokumentasi publik Microsoft.

Jalur DPC dan watchdog:

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

Value Type Default/normalization Apa yang dikendalikan
DpcQueueDepth REG_DWORD 4 kedalaman DPC queue
MinimumDpcRate REG_DWORD 3 frekuensi minimum pemrosesan DPC
IdealDpcRate REG_DWORD 20 target DPC rate
AdjustDpcThreshold REG_DWORD 20 ambang adaptasi DPC policy
ThreadDpcEnable REG_DWORD 1 thread-DPC processing
DpcWatchdogPeriod REG_DWORD 120000 periode DPC watchdog
DpcCumulativeSoftTimeout REG_DWORD 120000 pada build yang diteliti soft budget terakumulasi
PassiveWatchdogTimeout REG_DWORD 300 detik passive-level watchdog saat KD
ForceIdleGracePeriod REG_DWORD 5 detik 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, rentang 1..31 prioritas kerja virtual processor
AlwaysTrackIoBoosting REG_DWORD 0 pelacakan diagnostik I/O boost

Jalur Kernel Executive workers:

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

Value Type Default/normalization Apa yang dikendalikan
AdditionalCriticalWorkerThreads REG_DWORD 0, clamp 0..100 critical workers tambahan
AdditionalDelayedWorkerThreads REG_DWORD 0, clamp 0..100 delayed workers
MaximumKernelWorkerThreads REG_DWORD 4096, 32..16384 batas atas kernel workers
ForceEnableMutantAutoboost REG_DWORD 0 mutant autoboost
WorkerThreadTimeoutInSeconds REG_DWORD 600, 60..3600 worker timeout

Session Manager\Kernel dan Session Manager\Executive adalah cabang konfigurasi yang berbeda. Untuk setiap nilai, jalur yang dibuka oleh reader kernel pada build ini adalah hal yang penting.

Kernel menggunakan DpcQueueDepth, MinimumDpcRate, IdealDpcRate, dan AdjustDpcThreshold untuk mengendalikan antrean dan adaptasi DPC processing. Default 4/3/20/20 yang diperiksa sudah sesuai dengan keadaan standar Windows 11 25H2; menulis ulang angka-angka ini tidak mengubah apa pun.

Kegunaan: parameter ini dapat berguna saat menganalisis DPC backlog tertentu, tetapi tanpa ETW/WPR-trace, mengubahnya secara membabi buta tidak akan mendiagnosis penyebabnya. Antrean yang besar dapat menunda pemrosesan dan memperpanjang ekor latensi.

ThreadDpcEnable=1 mengaktifkan threaded-DPC infrastructure, 0 mengembalikan pekerjaan ke jalur DIRQL biasa dan dapat memperpanjang jendela interrupt-off. MaximumKernelWorkerThreads membatasi total pool kernel workers. AdditionalCriticalWorkerThreads dan AdditionalDelayedWorkerThreads ditambahkan ke pool dasar: pada Windows klien, masing-masing adalah 5 critical dan 7 delayed workers sebelum override diterapkan.

Lebih banyak thread tidak berarti latensi lebih rendah: workers tambahan mengonsumsi stack, waktu scheduler, dan sumber daya cache, sementara antrean dapat dibatasi oleh komponen lain. AdditionalDelayedWorkerThreads=32 memang menambahkan delayed workers, tetapi tidak ada keuntungan universal yang terukur.

DpcCumulativeSoftTimeout membatasi waktu DPC terakumulasi. DpcWatchdogPeriod=0 diperbolehkan dan mematikan watchdog ini; nilai bukan nol apa pun di bawah 2000 menjadi 2000 ms. PassiveWatchdogTimeout hanya digunakan saat kernel debugger aktif, sehingga pada sistem biasa timer ini tidak aktif bahkan dengan 300 detik standar. WorkerThreadTimeoutInSeconds membatasi hang pada worker operation.

DpcCumulativeSoftTimeout memiliki batas bawah 2000 ms dan tidak dapat melebihi DpcWatchdogPeriod. Untuk mendapatkan nilai 240000, watchdog period juga harus 240000. WorkerThreadTimeoutInSeconds dinormalisasi ke rentang 60..3600 detik; menulis 0 tidak mematikan timeout, melainkan menghasilkan nilai minimum.

Mematikan timeout perlindungan menghilangkan diagnostik, tetapi tidak memperbaiki penyebab blokir. Untuk sistem produksi, watchdog adalah bagian dari mekanisme deteksi driver rusak.

ForceEnableMutantAutoboost berada di cabang Executive, sedangkan ForceIdleGracePeriod, PerfIsoEnabled, CacheIsoBitmap, SchedulerAssistThreadFlagOverride, VpThreadSystemWorkPriority, dan AlwaysTrackIoBoosting dibaca dari cabang Kernel. Perbedaan ini krusial: entri dengan nama sama di subkey sebelahnya tidak diterapkan.

CacheIsoBitmap hanya digunakan dengan dukungan Intel Resource Director/CAT; tanpa CAT, nilai tersebut tidak menciptakan isolasi. SchedulerAssistThreadFlagOverride=0 dan 1 membiarkan pengaktifan otomatis, 2 memaksa mematikan cabang tersebut. VpThreadSystemWorkPriority mengizinkan 1..31, jika tidak akan direset ke 1; default 30, dan 31 hanyalah batas atas. AlwaysTrackIoBoosting=1 mengaktifkan allocation dan stack-capture diagnostik pada boost paths, bukan menahan I/O priority tetap tinggi.

Kegunaan: tanpa efek konsumen yang terkonfirmasi, biasanya tidak ada efek atau terlalu kecil untuk keputusan praktis. Nilai seperti ini berguna sebagai objek diagnostik kernel tersendiri, bukan sebagai kumpulan optimasi umum.

Default 4/3/20/20 yang diperiksa sesuai dengan keadaan standar Windows 11 25H2. Workers tambahan secara default sama dengan nol, batas atas kernel workers adalah 4096 dengan rentang 32..16384. Parameter watchdog dinormalisasi: nilai di bawah 2000 ms menjadi 2000, dan DpcCumulativeSoftTimeout tidak melebihi periode watchdog. Cabang Kernel dan Executive tidak dapat saling menggantikan.

  • Readers dan konsumen parameter di ntoskrnl.exe pada build yang diteliti.
  • Nilai default dan batas normalisasi, termasuk dependensi antar parameter watchdog.
  • Pemisahan cabang Kernel dan Executive: entri dengan nama sama di subkey sebelahnya tidak diterapkan.
  • Pengaruh perubahan parameter terhadap FPS, latensi, atau responsivitas.
  • Manfaat mengubah batas tanpa masalah antrean DPC atau worker yang terkonfirmasi.

Jangan mengubah parameter ini secara membabi buta: tanpa ETW/WPR-trace, penyebab backlog tidak dapat ditentukan. Untuk sistem kerja, biarkan watchdog tetap aktif, dan gunakan parameter untuk diagnostik, bukan sebagai kumpulan optimasi.

Kembalikan nilai standar atau hapus entri opsional. Parameter kernel diterapkan pada boot Windows berikutnya.

Readers dan consumers diperiksa di ntoskrnl.exe Windows 11 25H2 build 26200.9168. Offset atau pseudocode tidak dipublikasikan. Metrik pengguna akhir tidak termasuk dalam seri ini.

Cara mengulang bagian dinamis dari pengamatan — lihat Cara memeriksa sendiri.

Penelitian dan alat yang digunakan dimiliki oleh pengembang BoosterX, sehingga pengembang memiliki kepentingan langsung terhadap hasilnya. Metodologi dan batas penerapannya dijelaskan di atas, dan kesimpulannya dapat diverifikasi melalui data terbuka dan sumber publik yang tercantum.

Sumber publik diperiksa: 2026-09-02.

  • 2026-09-20: bagian «Hasil» dipindahkan ke posisi wajib sebelum «Pemulihan keadaan»; ditambahkan disclaimer tentang konflik kepentingan dan tautan ke verifikasi mandiri pengamatan dinamis dalam metodologi.
  • 2026-09-02: publikasi pertama; readers, defaults, dan clamps terkonfirmasi, batas kegunaan praktis ditambahkan.