# 搜尋索引器 CPU 偏高時，該等、縮小還是重建

`SearchIndexer.exe` 是 Windows 搜尋服務（`WSearch`）在讀你的檔案、郵件和其他內容，好讓開始功能表、檔案總管和 Outlook 能馬上搜到東西。剛裝完或升級完系統、加了一個很大的資料夾、或者重建過索引以後，它佔一陣 CPU 和磁碟是正常的。真正的問題是它一直做不完、反覆從頭開始，或者索引已經大到超出它能順暢處理的範圍。所以先看索引狀態。大多數辦法是把索引變小，而不是把搜尋關掉。

## 索引器在做什麼

[微軟的索引常見問題](https://support.microsoft.com/en-us/topic/da061c83-af6b-095c-0f7a-4dfecda4d15a)把索引解釋為查看電腦上的檔案、郵件和其他內容，並把它們的資訊編成目錄。第一次執行可能要花上幾個小時，之後就在背景進行，只重新索引有變化的資料。

工作量有多大，要看索引了多少項。[微軟的搜尋效能排查說明](https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/windows-search-performance-issues)給了一個量級：

| 已索引項目數 | 微軟的說法 |
| --- | --- |
| 少於 30,000 | 一般使用者的電腦 |
| 最多 300,000 | 重度使用者的電腦 |
| 超過 400,000 | 可能開始出現效能問題 |
| 約 100 萬 | 上限，再往上可能失敗，或者造成 CPU、記憶體、磁碟佔用過高 |

同一篇還提到，電腦上的 Outlook 信箱預設也會被索引。一個信箱超過 600 萬項時，索引器的效能可能下降。

## 改設定之前，先看狀態

Windows 11 在設定 › 隱私權與安全性 › 搜尋 Windows 裡，看已索引的項目數。Windows 10 在設定 › 搜尋 › 搜尋 Windows。較新的 Windows 11 版本把這一頁叫作「搜尋」，索引選項放在「尋找我的檔案」下面。

狀態提示能告訴你眼前是哪一種活動。下表第一欄是英文介面的原文，中文系統顯示的是對應譯文：

| 狀態 | 意思 | 怎麼辦 |
| --- | --- | --- |
| Indexing complete | 索引已經建好 | 現在的 CPU 偏高是別的原因，回工作管理員再看 |
| Indexing in progress | 正在加入新增或改動的檔案 | 讓電腦開著並接上電源，等幾個小時 |
| Indexing speed is reduced because of user activity | 在工作，但你用電腦時會放慢 | 等著，或者讓電腦接著電源閒置一會 |
| Index is performing maintenance | 正在復原或最佳化索引資料庫 | 最多等 30 分鐘，反覆出現就檢查硬碟 |
| Indexing is not running | 服務停了或者被停用 | 檢查 Windows Search 服務 |

微軟對維護這一項加了一句提醒。寫入索引出問題往往出現在硬碟故障之前。這條提示反覆出現的話，先確認個人資料已經備份。[查磁碟活動](/tw/windows/blog/windows-disk-100-percent)那篇可以幫你分清是索引在忙，還是硬碟本身在吃力。

## 首次索引還是死循環

首次索引或者重建，看著嚇人，但總有結束的時候。微軟說重建可能要 24 小時。這段時間裡已索引的數字一直往上漲，狀態顯示正在索引。你打字或者前景工作讓 CPU、磁碟很忙時，索引器會主動讓路。

死循環看起來不一樣。連著好幾天都到不了索引完成，已索引的數字掉下去又漲回來，或者維護提示一再出現。下結論之前，連續兩三天每天記一次項目數。

## 傳統還是增強

常見問題裡說了兩種範圍：

- **傳統**：預設索引文件、圖片、音樂資料夾和桌面，在搜尋效能和資源佔用之間取得平衡。
- **增強**：索引整台電腦，包括所有使用者資料夾和檔案，可能佔用更多系統資源。

電腦上有大型專案目錄、照片庫或者遊戲安裝目錄時，開著增強模式很容易把項目數推到微軟說會出問題的區間。換回傳統，只加上自己真正會搜的資料夾，往往就夠了。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-search-indexer-high-cpu-zh-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-windows-search-indexer-high-cpu-zh.webp" width="1360" height="454" loading="lazy" alt="索引範圍決定工作量">
  </picture>
  <figcaption>傳統涵蓋主要的使用者資料夾，增強涵蓋整台電腦。被排除的資料夾不會被索引。</figcaption>
</figure>

## 排除不需要搜尋的資料夾

微軟的排查說明給了兩種縮小索引的辦法：

- **整個資料夾排除**：設定 › 隱私權與安全性 › 搜尋 Windows › 新增要排除的資料夾。Windows 10 在設定 › 搜尋 › 搜尋 Windows。
- **精確選位置**：在同一頁點「進階索引選項」。Windows 10 叫「進階搜尋索引器設定」。然後在索引選項裡點「修改」，勾選或取消勾選要索引的位置。

適合排除的是那些你從不按名稱或內容去搜的資料夾。開發專案裡的建置產物和相依目錄、虛擬機器磁碟、遊戲庫、只當封存留著的大批下載。索引選項 › 進階 › 檔案類型裡，還能調整某種副檔名的處理方式。

用 Outlook 的話，微軟建議把郵件同步時間範圍從預設的一年改短一些，減少需要索引的內容。

## 看看索引到底多大

索引資料庫在 `C:\ProgramData\Microsoft\Search\Data\Applications\Windows` 裡。Windows 11 是 `Windows.db`，Windows 10 是 `Windows.edb`。微軟說要看檔案「內容」裡的「佔用空間」，不要看檔案總管裡的大小。因為索引器對稀疏檔案做了壓縮，清單裡顯示的大小不準。資料庫很大，說明該縮小索引範圍，而不是去刪這個檔案。

## 先疑難排解，再重建

Windows 10 內建「搜尋和索引」疑難排解。微軟把它列在[正在移除的舊版疑難排解](https://support.microsoft.com/en-us/windows/deprecation-of-microsoft-support-diagnostic-tool-msdt-and-msdt-troubleshooters-0c5ac9a2-1600-4539-b9d0-069e71f9040a)裡。較新的 Windows 11 會改為引導到設定 › 系統 › 疑難排解 › 其他疑難排解裡的「取得說明」。

重建放在最後。改完索引範圍以後重建一次，正好讓索引和新的選擇對上。Windows 11 的路徑是設定 › 隱私權與安全性 › 搜尋 Windows › 進階索引選項 › 進階 › 重建。Windows 10 的同一個按鈕在進階搜尋索引器設定 › 進階裡。之後最多 24 小時內搜尋結果可能不全，索引器也會很忙。所以最好晚上開始，電腦接著電源。

## 不要這樣做

- 不要為了壓住 CPU 就停用 Windows Search 服務。開始功能表、檔案總管和 Outlook 的搜尋都會變慢或搜不全。微軟提到有些防毒軟體和「最佳化電腦」類工具會停用它，並建議想用搜尋就別執行這類工具。
- 不要反覆重建。每次重建都要從頭再跑一遍漫長的首次索引。先改範圍，再重建一次。
- 不要刪 `C:\ProgramData\Microsoft\Search\Data` 裡的內容。微軟只在設定頁整頁變灰、服務已經無法啟動的情況下才這樣處理。
- 不要在工作管理員裡結束 `SearchIndexer.exe` 來解決問題。索引不會因此變小。剩下的工作在服務下次執行時還在那裡等著。

Mole for Windows 不碰索引本身。最佳化頁在這裡只有一項「啟動 Windows 搜尋」，只在服務設為自動啟動、卻已經停掉的時候出現，也就是當機之後的樣子。你自己有意關掉的 Windows Search 會保持關閉。Mole 不會重建、刪除或者調整索引大小。狀態頁裡也不給索引器提供結束處理程序的選項，因為它是從 Windows 資料夾裡執行的。

其他背景負載可以看 [Windows CPU 佔用偏高](/tw/windows/blog/windows-high-cpu-usage) 和 [Windows 最佳化到底做了什麼](/tw/windows/blog/what-windows-optimization-does)。

## 常見問題

### Windows 搜尋索引器為什麼 CPU 佔用這麼高？

通常是在建立或更新索引，例如剛裝完或升級完系統、加了很多檔案、或者剛重建過。去設定 › 隱私權與安全性 › 搜尋 Windows 看一下。顯示正在索引就讓它跑完。一直完成不了就縮小索引範圍。

### Windows 建索引要多久？

微軟說首次索引可能要幾個小時，重建最多 24 小時。超過 40 萬項的大索引會更久，也正是從這個量級開始容易出現效能問題。

### 關掉 Windows 搜尋索引安全嗎？

不會損壞系統，但開始功能表、檔案總管和 Outlook 的搜尋會變慢或搜不全。排除一些資料夾，或者從增強換回傳統，通常就能壓下 CPU，搜尋也照常能用。

### 需要重建搜尋索引嗎？

只在狀態顯示的問題等不好，或者你改了索引哪些資料夾以後再重建。每次重建都會從頭開始索引。


Canonical: https://mole.fit/tw/windows/blog/windows-search-indexer-high-cpu
