# 系統中斷的 CPU 使用率很高怎麼解決

系統中斷（System Interrupts）不是程式，它是工作管理員裡的一列，顯示 CPU 花在回應硬體上的時間，也就是裝置需要注意時由驅動程式執行的程式碼。數字低是正常的，本頁測量用的一台閒置筆電不到 1%。如果在安靜的電腦上它持續維持幾個百分點以上，通常是某個驅動程式或裝置有問題，所以解法是把那個找出來。你不能結束這一列，磁碟上也沒有任何叫系統中斷的東西。

## 這個數字的意思

裝置需要什麼的時候會中斷處理器：網路卡收到封包，或音訊裝置需要下一段緩衝。Windows 會立刻執行驅動程式的中斷常式，而 Microsoft 的驅動程式文件說[這些常式必須盡快執行完](https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/introduction-to-dpc-objects)，所以它們會把剩下的工作交給延遲程序呼叫（DPC），DPC 不久後執行，優先順序比中斷低，但在一般程式之前。系統中斷把這些時間加總起來。

這就是為什麼它造成的困擾比數字看起來更大。DPC 或中斷常式在某個核心上執行時，那裡的一般執行緒都得等著，所以慢的驅動程式會表現成音訊爆音、滑鼠卡頓或掉格。

要實際測量，因為工作管理員會四捨五入，而且一秒才取樣一次：

```powershell
(Get-Counter '\Processor(_Total)\% DPC Time', '\Processor(_Total)\% Interrupt Time' -SampleInterval 2 -MaxSamples 5).CounterSamples | ForEach-Object { '{0} {1:N2}' -f $_.Path, $_.CookedValue }
```

本頁檢查時，在一台閒置、執行 Windows 11 的 ThinkPad 上，兩個數字都是 0.38。沒有官方的上限，但粗略來說，在安靜的電腦上，任何一個持續高於 5% 就值得追查。

## 找出驅動程式

先看有什麼改變，再逐一移除裝置，最後再測量。

1. **拔掉所有不需要的東西**：USB 集線器、網路攝影機、音訊介面、擴充座、印表機。每拔一個，觀察一分鐘數字的變化。故障的 USB 裝置是經典的原因，而且這一步不用花任何成本。
2. **想想有什麼改變**：這個問題開始之前，是不是剛更新了驅動程式或 Windows？在**裝置管理員**裡開啟該裝置的**內容 › 驅動程式**，試試**回復驅動程式**。
3. 在裝置管理員裡**一次停用一個可疑對象**：先是 Wi-Fi 和藍牙介面卡，接著是音訊，再來是顯示器和磁碟以外的其他東西。觀察一分鐘，然後再啟用。
4. 如果還是沒答案，就**用 LatencyMon 測量**。這個免費的 [Resplendence 工具](https://www.resplendence.com/latencymon)會依驅動程式回報 DPC 和 ISR 的時間。在問題發生時執行幾分鐘，再讀**Drivers**索引標籤，依最高執行時間排序。上面列出的檔案，例如網路的 `ndis.sys` 或廠商的音訊驅動程式，就是該查的方向。
5. 需要更多細節時**錄製追蹤**。Microsoft 的 Windows Performance Recorder 內建在 Windows 裡，需要系統管理員終端機：

```powershell
wpr -start CPU
wpr -stop interrupts.etl
```

在症狀出現一分鐘後停止，然後在 Windows Performance Analyzer 裡開啟檔案，查看 **DPC/ISR** 圖表。

## 驅動程式名稱通常代表什麼

| 驅動程式或裝置 | 常見原因 | 試試看 |
| --- | --- | --- |
| `ndis.sys`、Wi-Fi 或乙太網路驅動程式 | 網路驅動程式，或上面疊的 VPN 或篩選器 | 從電腦或晶片廠商更新，關掉 VPN 測試 |
| `HDAudBus.sys`、`RtkHDAud.sys`、USB 音訊 | 音訊驅動程式 | 從電腦廠商更新，或換另一個輸出測試 |
| `USBPORT.SYS`、`USBXHCI.SYS` | USB 裝置或集線器異常 | 一個個拔掉裝置，換個連接埠 |
| `nvlddmkm.sys`、`amdkmdag.sys`、`igdkmd64.sys` | 顯示驅動程式 | 從 GPU 或電腦廠商乾淨更新 |
| `storport.sys`、`stornvme.sys` | 磁碟或儲存裝置驅動程式 | 更新韌體，檢查磁碟健康狀態 |
| `ACPI.sys` | 韌體或電源管理 | 從電腦廠商更新 BIOS 或 UEFI |

筆記型電腦請先看電腦廠商的支援頁面，因為它的驅動程式是為那組硬體做的。如果拔掉所有東西、驅動程式是最新、乾淨重新開機後數字還是很高，硬體就真的有可能，尤其是摔過或潑過水之後。Linux 隨身碟開機可以幫上忙：如果機器在那裡還是卡，Windows 驅動程式就比較不可能是原因。

## 不要這樣做

- 不要找結束它的方法。這一列背後沒有處理程序，工作管理員沒有東西可以停。
- 不要安裝驅動程式更新工具。它們常常替筆記型電腦選錯版本，這可能正是你想解決的問題。
- 不要照論壇文章去改登錄裡的中斷或 MSI 設定。錯誤的值可能讓電腦無法開機。
- 不要花錢買「系統最佳化工具」。裡面沒有任何東西能修好驅動程式的錯誤，它自己還會增加背景工作。

## Mole 能幫上什麼

Mole for Windows 不會列出系統中斷，因為**狀態**頁讀取的是真正的處理程序，而這一列不是。它也沒有驅動程式工具。它的用處是排除另一邊：如果**狀態**顯示某個處理程序真的很吃力，問題可能出在那個處理程序，請先讀 [Windows 的 CPU 使用率偏高](/tw/windows/blog/windows-high-cpu-usage)。如果沒有任何處理程序能解釋這個負載，上面的步驟就是正確的路。想了解工作管理員裡其他不是一般程式的列，請見[系統閒置處理程序](/tw/windows/blog/system-idle-process-high-cpu)。

## 常見問題

### 工作管理員裡的系統中斷是什麼？

它是 CPU 執行回應硬體的驅動程式碼所花的時間，顯示成單獨一列。它沒有檔案，背後也沒有任何程式。

### 系統中斷應該用掉多少 CPU？

閒置時通常遠低於 1%，在大量網路或磁碟工作時可能短暫升高。在安靜的電腦上持續維持幾個百分點，就值得調查。

### 可以停用系統中斷嗎？

不行。它不是服務也不是程式，它回報的是硬體需要完成的工作，所以解法在造成問題的驅動程式或裝置。

### 系統中斷是病毒嗎？

不是。惡意軟體可以執行自己的驅動程式，不過很少見，如果 LatencyMon 指出一個你不認得的驅動程式，用 Microsoft Defender 掃描是合理的。

### 為什麼系統中斷會讓我的音訊爆音？

那段程式碼會先於一般程式執行，所以慢的驅動程式會讓那個核心上的音訊程式，錯過它的下一段緩衝。LatencyMon 就是為這種情況設計的，它會指出是哪個驅動程式。


Canonical: https://mole.fit/tw/windows/blog/system-interrupts-high-cpu
