# Windows 搜索索引器 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 服务 |

微软对维护这一项加了一句提醒，写入索引出问题往往出现在硬盘故障之前，这条提示反复出现的话，先确认个人数据已经备份。[查磁盘活动](/zh/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 占用高](/zh/windows/blog/windows-high-cpu-usage) 和 [Windows 优化到底做了什么](/zh/windows/blog/what-windows-optimization-does)。

## 常见问题

### Windows 搜索索引器为什么 CPU 占用这么高？

通常是在建立或更新索引，比如刚装完或升级完系统、加了很多文件、或者刚重建过。去设置 › 隐私和安全性 › 搜索 Windows 看一下，显示正在索引就让它跑完，一直完成不了就缩小索引范围。

### Windows 建索引要多久？

微软说首次索引可能要几个小时，重建最多 24 小时，超过 40 万项的大索引会更久，也正是从这个量级开始容易出现性能问题。

### 关掉 Windows 搜索索引安全吗？

不会损坏系统，但开始菜单、资源管理器和 Outlook 的搜索会变慢或搜不全，排除一些文件夹，或者从增强换回经典，通常就能压下 CPU，搜索也照常能用。

### 需要重建搜索索引吗？

只在状态显示的问题等不好，或者你改了索引哪些文件夹以后再重建，每次重建都会从头开始索引。


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