如何在 Windows 中測量 DPC 延遲並偵測導致微中斷的程式

最後更新: 19/10/2025

  • LatencyMon 和 PerfMon 是測量和診斷現代 Windows 上 DPC 延遲的最可靠工具。
  • GPU、網路和 USB 驅動程式通常是 DPC 峰值的主要原因;它們的電源管理是關鍵。
  • 處理器電源計劃和空閒狀態起著重要作用;調整閾值和核心停車有幫助。
  • 使用 DDU/NVCleanstall、MSI 模式和晶片組驅動程式可減少殘留進程並提高延遲穩定性。
在 Windows 中測量 DPC 延遲

如果您的 PC 出現音訊劈啪聲、播放影片時卡頓或似乎無緣無故「掛起」的情況,則通常懷疑是: DPC延遲這種肉眼無法察覺的延遲,卻可能在你最意想不到的時候毀掉你的DJ裝置、DAW中的錄音,或是線上遊戲。因此,了解這一點至關重要。 在 Windows 中測量 DPC 延遲 並找到解決方案。

為了幫助您,我們整理了一系列 真正有效的實用程式和工具我們整合了多種現實世界經驗的最佳成果:從使用 LatencyMon 和 PerfMon,到電源調整、服務、GPU 驅動程式(NVIDIA/AMD)和其他技巧。

為什麼測量 Windows 中的 DPC 延遲很重要?

DPC(延遲過程調用) 是核心為了更冷靜地處理硬體中斷而推遲執行的作業;當它們累積或運行時間過長時, 延遲被觸發 並出現音訊微中斷、視訊卡頓或小介面凍結的情況。

典型症狀包括音訊咔嗒聲、全螢幕視訊卡頓或掉幀,並且通常伴隨數萬微秒的峰值。典型情況是:一台計算機閒置約 1000–20000 微秒 當我將視訊全螢幕播放時,它會觸發,即使斷開第二台顯示器的連接也是如此。

在 Windows 中測量 DPC 延遲

在 Windows 中測量 DPC 延遲的可靠工具

在 Windows 7 中,您可以使用 DPC延遲檢查器(DPCLAT)它很簡單,可以顯示系統是否可以處理即時串流,儘管在現代版本的 Windows 中它不再是推薦的方法。

適用於 Windows 8、10 和 11,參考 延遲時間只需按下「播放」按鈕,讓它在您使用電腦時運行(玩遊戲、播放影片、開啟程式)。雖然它是為音訊專業人士創建的,但它可以衡量系統的即時處理能力,並告訴您 驅動程式或進程 即使您沒有連接聲音裝置也會導致問題。

常見的罪魁禍首及應對方法

在分析Windows中測量DPC延遲的方法之前,讓我們先來看看最常導致問題的因素有哪些:

  • ndis系統 (網路)。這通常與 Wi-Fi/乙太網路適配器有關。請嘗試從裝置管理員停用 Wi-Fi 和網路卡,並比較測量值;如果失敗,請檢查網路驅動程式或將製造商的驅動程式變更為通用驅動程式(反之亦然)。
  • ohci1394.sys (火線)。如果您使用 IEEE 1394 設備,請在測試期間斷開連接;更新火線驅動程式;並檢查是否有 IRQ 衝突,尤其是與 GPU 的衝突。在整合火線的主機板上,專用的 PCI/PCIe 卡可能會提供更好的效能。 持續潛伏期.
  • usb埠系統 (USB 控制器)。請從主機板製造商網站下載最新的晶片組驅動程式。 Windows 7 SP1 (KB2529073) 中已記錄了改進。在極少數情況下,SD/MMC/CF 卡讀卡機會導致 DPC 過高;請在裝置管理員中停用這些讀卡器,看看是否 圖形改進.
  • nvlddmkm.sys (NVIDIA)。更新自 nvidia.com,使用全新安裝移除遙測數據,並檢查 IRQ。該模組因其激進的電源管理而導致 DPC 峰值問題,並因此而臭名昭著;它有時也會受到晶片組驅動程式的影響,因此建議使用它。 始終更新它們.
  • ACPI系統 (電源管理)。筆記型電腦上很常見。停用選擇性掛起、調整電源計劃,以及在極端情況下在裝置管理員中停用 ACPI 電池可能會有所幫助,但要知道,這可能會損失電池的充電容量。這是一種極端的補救措施,應該嘗試 明確的預防措施.
獨家內容 - 點擊這裡  如何永久激活 Windows 10

減少 DPC 延遲的實際措施

從基礎開始:在 BIOS/UEFI 和 Windows 中, 停用主動節能功能 (C 狀態及類似情況),使用高效能計畫並檢查溫度。這些只是一些基本調整,但它們為其他變更的生效奠定了基礎。

停用 USB 選擇性暫停 在您的電源計劃中(交流電和電池)。這將減輕 storport.sys 的延遲,並穩定 USB 儲存和音訊裝置。

電源設定資源管理器 (以管理員身份運行),顯示隱藏的處理器設定:找到“處理器空閒降級閾值”和“處理器空閒提升閾值”,取消勾選,然後在“電源選項”>“處理器電源管理”中,將這兩個閾值都設置為 100%。這樣可以減少 CPU 閒置轉換次數,並降低峰值。 內核和驅動程式.

在相同的電源選項中,調整:「處理器效能:最低核心停放」設定為 100%(交流電和電池供電),「最低處理器狀態」設定為 100%,「最高處理器狀態」設定為 100%。對於“停用處理器空閒”,如果您的電腦能夠更好地承受,請保留“啟用空閒”的設定。這些變更可以最大限度地減少“核心停放”,並避免“喚醒”執行緒時的延遲,儘管它們會消耗更多資源並增加 溫度.

執行 GPU 驅動程式的全新安裝在 3D 控制面板中,選擇「優先使用最高效能」。對於 AMD 顯示卡,請使用 DDU,解壓縮驅動程式包,然後取消安裝程式。然後,在“裝置管理員”>“顯示適配器”中,選擇“更新驅動程式”,並指向解壓縮後的目錄。這將安裝裸機驅動程序,無需任何額外程序。

啟動 MSI 模式 使用 MSI Utility v3(以管理員身分)在您的 GPU 上,選擇 MSI 作為 GPU,並將優先順序設為「高」。重啟並測試。此模式可以減少中斷爭用,並減少遊戲卡頓。

解除安裝“Windows 更新健康工具” 如果你有它。出於某種原因,有些人在刪除它後體驗到了更低的延遲,因為他們知道你會失去檢查你的電腦是否符合 Windows 11 資格的嚮導,並且可能會阻止某些更新;這是一個 有意識的交流.

安裝 晶片組驅動程式 直接從主機板製造商取得。 Windows 通常會保留這些功能,但官方軟體包會微調 USB、PCIe、儲存和計時器——這四大支柱對 DPC 的影響遠超乎您的想​​像。

進程套索

針對即時音訊(DJ、DAW、串流媒體)的額外最佳化

如果您的電腦僅用於 DJ 或錄音,您可以採取更進一步的措施。在 [任務管理器 > 服務] 中,停用筆記型電腦製造商(例如 LG)提供的額外服務,因為它們會消耗 CPU 並產生週期性調用,最終會增加電腦的效能。 DPC佇列.

獨家內容 - 點擊這裡  如何刪除PDF保護

進程套索 (免費),打開你的 DJ 軟體(例如 Traktor),找到它並設定:CPU 優先權“高於正常”,I/O 優先權“高”。這樣可以使它的處理優先於嘈雜的進程,並減少管道中的抖動。 即時音訊.

對於 Windows 音訊服務,搜尋「audiosrv」和「AudioEndpointBuilder」(皆在 svchost.exe 中),並將其 CPU 優先權和 I/O 優先權分別設為「高」。此外,在 CPU 親和力下,將其執行限制在幾個核心上(例如,只保留最後兩個核心處於活動狀態),以穩定快取並減少核心之間的遷移,這有助於 保持緩衝區 無峰。

在“系統”>“進階設定”>“效能”下,選取“處理器調度:後台服務”。對於專業音頻,此選項優先處理 I/O 的系統服務,從而改善緩衝區傳輸 驅動程式和端點.

虛擬記憶體:對於具有足夠內存的專用音訊設備,您可以在所有驅動器上嘗試“無頁面文件”;這可以減少磁碟上的頁面錯誤,但如果其他程式正在請求大量內存,則存在風險。如果您不確定,請將頁面文件保留在 OS.

PerfMon:逐步測量系統瓶頸

PerfMon(效能監視器)可以定期記錄 Windows 指標並繪製圖表。使用 Windows + R 鍵存取它,輸入“perfmon”即可。它可以用來偵測磁碟、CPU、記憶體、網路或進程是否已達到極限,並落後於 DPC 延遲超出標準.

物件和計數器:「物件」用於分組資料(例如 PhysicalDisk),「計數器」用於測量特定資料(例如 \PhysicalDisk\% Idle Time),「實例」用於區分不同的資源(例如每個實體磁碟或每個 CPU 核心)。主要區別在於:PhysicalDisk 統計的是硬件,而 LogicalDisk 統計的是分區;在 LogicalDisk 中,你會看到驅動器號或掛載點,它們的平均 _Total 值會匯總 人人享有 光盤。

註冊 洛格曼 您可以從控制台(管理員)建立通用資料集和 SQL 資料集。將檔案儲存到 C:\perflogs 或您喜歡的任何位置;以下範例指令涵蓋磁碟、記憶體、網路、CPU、流程和系統,間隔為 5 秒,大小為圓形:

Logman.exe 建立計數器 Avamar -o“c:\\perflogs\\Emc-avamar.blg”-f bincirc -v mmddhhmm -max 250 -c“\\LogicalDisk(*)\\*”“\\Memory\\*”“\\Network Interface(*\ing*” File(*)\\*”“\\PhysicalDisk(*)\\*”“\\Processor(*)\\*”“\\Process(*)\\*”“\\Redirector\\*”“\\Server\\*”“\\Sem\\*”-yes 00:00:05 Avaman.

對於預設 SQL: 新增計數器 特定於 SQL Server,如果不是預設值,則調整執行個體名稱:

Logman 建立計數器 Avamar_SQL_perf_log -f bin -c "\\Network Interface(*)\\*" "\\Redirector\\*" "\\Paging File(*)\\*" "\\Memory\\*" "\\PhysicalDisk(*)\\\Phys" "\\System\\*" "\\Process(*)\\*" "\\Processor(*)\\*" "\\SQLServer:Databases(*)\\*" "\\SQLServer:Buffer Manager\\*" "\\SQLServer:Memory Manager\\" 0 -o C:\\SQL_Performance_Logs\\AvamarSQL_perf_log.blg

透過系統資源診斷 DPC 的主要計數器和閾值, 指示性限值:

  • 記憶:% 已提交的正在使用的字節數持續 > 80% 表示頁面文件較小;可用字節數低於已安裝 RAM 的 5% 令人擔憂(而 <1% 則肯定存在問題);已提交的字節數變化不應太大(如果增加,頁面文件也會擴大);池非分頁字節數可能會導致事件 80% 可能導致事件 2019% 19% 19% 19% 19% 的 19% 19%; 2020。
  • 處理器:高 % 中斷時間表示存在大量硬體活動;調查持續超過 25% 的 % DPC 時間;理想情況下,Web/應用伺服器上的 % 特權時間 <30%;持續 % 處理器時間 >90%(1 個 CPU)或 >80%(多個)表示飽和並可能出現峰值 隊列延遲.
  • 紅色:丟棄接收的資料包 > 1 和錯誤接收的資料包 > 2 表示硬體或網路緩衝區問題;檢查驅動程式、電纜和 NIC 配置.
  • 迪斯科:% 空閒時間用於測量實際的磁碟非活動狀態(越高越好)。平均磁碟佇列長度小於主軸數量的兩倍通常是一個好兆頭。延遲:平均磁碟讀取速度(秒/讀)(優 < 8 毫秒;良好 < 12 毫秒;可接受 < 20 毫秒;差 > 20 毫秒)和平均磁碟寫入速度(優 < 1 毫秒;良好 < 2 毫秒;可接受 < 4 毫秒;差 > 4 毫秒)。理想的分割 I/O 接近零(碎片/條帶大小);邏輯磁碟可用空間百分比 > 15%(建議 > 25%)以避免 因填充而導致的降解.
  • 過程:句柄計數(洩漏)、虛擬位元組(預留)、工作集(駐留)。如果進程產生大量中斷或阻塞,則隨著 DPC 的增加,這些值會不受控制地成長。 頻繁 I/O.
獨家內容 - 點擊這裡  如何將 PDF 文件放入 Word

其他有用的計數器:System\File Control Operations/sec 和 System\File Data Operations/sec 用於查看整體檔案活動,System\Processor Queue Length 用於查看 CPU 佇列,Processor\Interrupts/sec 和 Processor\DPCs Queued/sec 用於量化電腦上的中斷和 DPC 負載。 實時.

BIOS 設定、設備和警告

在 BIOS/UEFI 中,停用不使用的設備(舊式驅動器 A、序列埠、並行埠、整合式音訊(如果使用外部介面))以及步進技術,例如 英特爾 SpeedStep如果您不需要,可以使用 AMD K8 Cool & Quiet、英特爾虛擬化技術或 C1E CPU。注意:對於支援虛擬化的筆記型電腦和 PC,這可能會適得其反;請記錄變更並單獨測試。

在裝置管理員中,您可以停用不必要的硬體(重複的音效卡、電視調諧器、內建數據機、讀卡機或冗餘乙太網路轉接器),而無需觸碰磁碟、IDE/ATAPI/SATA 控制器、滑鼠、鍵盤或主 GPU。一位用戶透過停用以下選項解決了 DPC 延遲過高的問題: Microsoft 高清晰度音訊控制器 它與 NVIDIA GPU 共用 IRQ,與 Realtek 驅動程式保持聲音,從而消除衝突。

對於 NVIDIA 來說,如果在開啟最高效能並開啟 3D 應用程式時,點擊聲消失了,那麼你已經找到了一個線索:罪魁禍首是電源管理。你可以繼續使用穩定設置,使用乾淨的驅動程式和 MSI 模式進行進一步微調,或者,如果都不起作用,可以考慮使用沒有激進省電策略的 GPU,因為這些策略會導致 狀態振盪.

在運行了各種工具、找出了常見的問題根源並進行了一些微調之後,很明顯,使用 LatencyMon/PerfMon 測量 Windows 中的 DPC 延遲,並明智地處理電源、驅動程序和設備問題,效果顯著:以前你會看到 1.000-2.500 µs(甚至 20.000 µs)的新音,額外的好處是,你清楚地知道你調整了什麼以及為什麼有效,這是最可靠的方法。 保持 DPC延遲得到控制 長期的。