DPC dan Kernel Executive workers di Windows 11 25H2
Di halaman ini
Jawaban singkat
Section titled “Jawaban singkat”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.
Apa yang diperiksa
Section titled “Apa yang diperiksa”Diperiksa batas DPC, worker threads, dan watchdog apa saja yang dibaca kernel, bagaimana nilai dinormalisasi, dan di mana mekanisme ini benar-benar diterapkan.
Cakupan penelitian
Section titled “Cakupan penelitian”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.
Metodologi
Section titled “Metodologi”Analisis statis ntoskrnl.exe: pencarian readers dan konsumen, pemeriksaan rentang dan normalisasi nilai; verifikasi silang dengan dokumentasi publik Microsoft.
Jalur kanonis dan nilai
Section titled “Jalur kanonis dan nilai”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.
DPC queue dan rates
Section titled “DPC queue dan rates”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.
Thread DPC dan worker limits
Section titled “Thread DPC dan worker limits”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.
Watchdog dan timeout
Section titled “Watchdog dan timeout”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.
Kernel Executive policy
Section titled “Kernel Executive policy”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.
Apa yang terkonfirmasi
Section titled “Apa yang terkonfirmasi”- Readers dan konsumen parameter di
ntoskrnl.exepada build yang diteliti. - Nilai default dan batas normalisasi, termasuk dependensi antar parameter watchdog.
- Pemisahan cabang
KerneldanExecutive: entri dengan nama sama di subkey sebelahnya tidak diterapkan.
Apa yang tidak terkonfirmasi
Section titled “Apa yang tidak terkonfirmasi”- Pengaruh perubahan parameter terhadap FPS, latensi, atau responsivitas.
- Manfaat mengubah batas tanpa masalah antrean DPC atau worker yang terkonfirmasi.
Kesimpulan praktis
Section titled “Kesimpulan praktis”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.
Pemulihan keadaan
Section titled “Pemulihan keadaan”Kembalikan nilai standar atau hapus entri opsional. Parameter kernel diterapkan pada boot Windows berikutnya.
Sumber dan batasan
Section titled “Sumber dan batasan”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.
- DPCs and threads, Microsoft Learn, diperiksa 2026-09-01.
- Bug checks 0x133 DPC_WATCHDOG_VIOLATION, Microsoft Learn, diperiksa 2026-09-01.
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.
Riwayat perubahan
Section titled “Riwayat perubahan”- 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.
