优化 C 盘:从爆红警告到绿色健康
1. 优化 C 盘:从"爆红警告"到"绿色健康"
把 C 盘从红色警告清到绿色健康,思路其实很简单:先诊断空间去哪了,把常用文件夹搬出去、精简 AppData、处理系统级大文件,再重点清理缓存和临时文件,最后开启存储感知让系统以后自动清理。
用到的软件:
- SpaceSniffer:磁盘空间可视化分析 — https://github.com/redtrillix/SpaceSniffer
- WindowsClear:AppData 清理工具 — https://github.com/tanaer/WindowsClear
- WindowsCleaner:系统缓存 / 临时文件清理工具 — https://github.com/darkmatter2048/WindowsCleaner
2. 诊断:先看清空间去哪了
优化的第一步不是上手就删,而是先搞清楚 C 盘的空间到底被什么占用了。
用 SpaceSniffer(https://github.com/redtrillix/SpaceSniffer)扫描 C 盘,一张可视化的图就能直观看到哪些文件夹、哪些文件占用最大,后面所有的清理动作都基于这张图来做,避免盲删。
3. 转移常用文件夹(新手友好,见效最快)
把系统自带的用户文件夹搬出 C 盘,操作简单、风险低,是最适合新手的一步:
- 桌面
- 文档
- 下载
- 图片 / 视频 / 音乐
做法:在 D 盘(或其他非系统盘)新建一个文件夹(例如 D:\windata),把上述文件夹逐一迁移过去。
注意:浏览器的下载路径需要单独在浏览器设置里改一下,系统文件夹迁移并不会自动同步浏览器的默认下载位置。
4. 优化 AppData 目录(头号空间杀手)
AppData 位于 C:/Users/用户名/AppData,是吃光 C 盘空间的头号元凶。它其实分成三个子目录,各自角色不同,清理前最好先分清楚。
推荐工具:WindowsClear(https://github.com/tanaer/WindowsClear),可以辅助分析和清理 AppData 目录。
4.1. AppData 三兄弟
| 文件夹 | 是否漫游 | 体积 | 重要性 | 建议 |
|---|---|---|---|---|
| Roaming | 随账户漫游 | ★☆☆ 通常较小 | ★★★ 高 | 不轻易删 |
| Local | 仅留本机 | ★★★ 最大 | ★★☆ 中 | 分类清理 |
| LocalLow | 仅留本机,低权限沙盒 | ★☆☆ 一般最小 | ★★☆ 中 | 忽略 |
- Roaming:设计初衷是"人到哪,配置到哪",在域环境或多设备漫游账户下会跟着账户同步。存的是设置类、轻量类数据:浏览器书签/扩展配置、微信·QQ 部分数据、Office 自定义模板、各类程序的 ini/json 配置。体积不大,但删除容易丢设置,要谨慎。
- Local:不参与漫游,只留在当前电脑,是空间占用的重灾区——浏览器缓存、IDE 索引缓存(VSCode/JetBrains)、Windows/Office 更新缓存、云盘客户端缓存、游戏资源包全堆在这。问题在于它混杂了"能删的缓存"和"不能删的数据"(有些程序把数据库、存档也放在这里),不能一刀切清空。
- LocalLow:专供"低完整性级别"的沙盒进程使用。最典型的是 Unity 引擎游戏,默认存档路径几乎都在这里;此外还有浏览器受保护模式数据。体积一般不大,但可能藏着重要的游戏存档,删除前务必确认。
4.2. 哪些能删,哪些不能
✓ 可以清理
- 名字带 Cache / Temp / Logs / CrashDumps 的子文件夹
- 已卸载软件留下的整个残留文件夹
- 浏览器缓存(用浏览器自带的清除功能,不要直接删文件)
✕ 不要轻易删
- 正在使用软件的配置 / 存档文件夹
- LocalLow 里的游戏存档
- Roaming 下大多数内容(收益低、风险高)
- 不认识但对应软件仍在使用的文件夹
4.3. 迁移思路:两种方法
- 软件自带的路径设置:优先选这个方式,很多软件(Steam、Epic、下载工具、云盘客户端等)本身就支持修改缓存/下载路径,把大文件迁到别的盘,比删除更治本,也最安全。
- mklink 软链接:把某个具体子目录用命令行做符号链接迁移到别的盘,并用命令行验证链接是否生效。注意:不要对整个 AppData 目录做 mklink 整体迁移,容易导致软件异常;WSL2、Docker 等的虚拟磁盘文件同样体积较大,也可以考虑单独迁移。
4.4. 动手清理的建议顺序
- 先用系统自带工具:设置 → 系统 → 存储 → 临时文件,或用磁盘清理(cleanmgr),系统能识别的缓存交给它清最安全。
- 按软件清,而不是按文件夹清:浏览器、IDE、聊天软件基本都自带"清除缓存"选项,比直接删文件更安全,不会破坏程序状态。
- 深度卸载清残留:用 Geek Uninstaller、Revo Uninstaller 等工具卸载软件,能自动定位并清除 AppData 里的残留,比手动翻文件夹更准。
- 大文件迁移而非删除:Steam、Epic、下载工具等支持修改缓存/下载路径,迁到别的盘比删除更治本。
- 先扫描再动手:用 WizTree 或 TreeSize 可视化查看哪些文件夹占用最大,针对性清理,避免盲删。
核心原则:AppData 是"数据文件夹",不是"缓存文件夹"。删除前先确认对应软件是否还在用、这个子目录是不是明确的缓存/临时数据,拿不准就用软件自带的清理功能或专业卸载工具处理。
5. 系统级大文件(体积天生就大,别瞎删)
这三个文件都不是"垃圾文件",而是系统机制的一部分,体积增长的原因各不相同——直接手动删除通常会被系统重新生成,起不到清理效果,应该通过设置项去调整大小或关闭对应功能。
5.1. 虚拟内存 pagefile.sys(几 GB 到十几 GB)
物理内存不够用时,Windows 把部分数据换出到硬盘上的这个文件,充当"备用内存",内存越紧张用得越多。
为什么需要它:
- 防止内存耗尽崩溃:把暂时不用的数据换出到硬盘,避免"内存不足"报错
- 支持崩溃转储:蓝屏时系统需要把内存内容写入页面文件,生成 memory.dmp 诊断文件
- 老程序的硬性依赖:部分专业软件假设系统一定有可用虚拟内存,完全关闭可能报错或运行异常
如果系统频繁大量使用虚拟内存,电脑会明显卡顿——这说明物理内存不够用了,根本解法是加内存,而不是加大虚拟内存。
官方公式为什么过时:微软最早的经典公式是"初始大小 = 物理内存 × 1.5,最大值 = 物理内存 × 3",这是上世纪 90 年代内存以 MB 计算时的规则。128G 内存若按 3 倍设置要留 384G 空间,纯属浪费。微软目前的官方立场是交给系统"自动管理"(System managed size),适合绝大多数普通用户。
按内存大小设置建议:
| 物理内存 | 建议做法 | 说明 |
|---|---|---|
| 8 GB | 自动管理 / 手动 4–12 GB | 内存较紧张,虚拟内存用得上,建议留够余量 |
| 16 GB | 自动管理 / 手动 4–8 GB | 大多数场景够用,主要防极端情况 |
| 32 GB | 自动管理 / 手动 2–8 GB | 一般用户很少会真正用到 |
| 64 GB | 自动管理 / 固定 2–4 GB | 主要留给崩溃转储和个别老软件 |
| 128 GB | 自动管理 / 固定 2–4 GB | 正常使用几乎不会触碰,超大型虚拟机/数据集除外 |
不到 32GB 内存的,可以手动设置:初始值 = 物理内存大小(MB),最大值取物理内存的 1~3 倍(例如 16GB 内存 → 初始 16384,最大 32768~49152);32GB 及以上保持系统自动管理即可,手动设太大反而白白占空间。
如果经常用 Premiere、DaVinci、大型 3D 渲染、超大虚拟机、大数据处理等吃内存的软件,即使内存很大,也建议保留一个固定值(16–32GB)而非依赖自动管理,防止瞬间峰值导致崩溃。不建议彻底禁用虚拟内存,折中方案是设一个较小固定值(2–4GB),而不是设为 0。
放哪个盘:
- 单块 SSD:直接放 C 盘即可,现代 SSD 的写入寿命完全不是问题,“加速老化"说法早已过时。
- SSD + HDD:优先放 SSD(C盘),不要放机械硬盘,否则"救急速度"变慢,卡顿更明显。
- 多块 SSD:理论上可分散到非系统盘减少单盘 I/O 压力,但现代 NVMe 速度下收益很小,一般无需折腾。
设置入口:右键「此电脑」→ 属性 → 高级系统设置 →「高级」选项卡 → 性能区域点【设置】→ 虚拟内存配置页面。重启后 C 盘旧的 pagefile.sys 会自动删除;若迁移到其他盘,重启后会在那个盘生成新文件。
设到非系统盘却总不生效? 问题通常出在注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 下的 PagefileOnOsVolume 键,默认值为 1(代表"页面文件必须留在系统盘”)。想让页面文件真正落在非系统盘,需要把它改成 0(没有这个键就新建一个 DWORD 值并设为 0),改完重启生效。也可以在管理员权限的命令提示符里直接执行:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /t REG_DWORD /v PagefileOnOsVolume /d 0 /f
图形界面完整操作步骤:
- 按
Win + R,输入sysdm.cpl,回车,打开系统属性 - 切到「高级」选项卡 → 点击「性能」区域的「设置」
- 在「性能选项」窗口切到「高级」选项卡 → 点击「虚拟内存」区域的「更改」
- 想手动设置就取消勾选「自动管理所有驱动器的分页文件大小」;不想折腾就保持勾选
- 选中系统盘或最快的 SSD → 选择「自定义大小」→ 填入初始大小与最大值(单位 MB,如 4096 = 4GB)
- 点击「设置」→「确定」,重启电脑生效
5.2. 休眠文件 hiberfil.sys(约为内存的 40%~75%)
保存休眠时整台电脑的内存快照,方便下次几乎瞬间恢复;Windows 的"快速启动"功能也依赖它。具体比例随 Windows 版本略有不同。以下命令都需要在管理员权限的命令提示符或 PowerShell 中执行。
- 彻底关闭:执行
powercfg /hibernate off,彻底删除 hiberfil.sys,释放对应空间,但会同时失去休眠和"快速启动"功能。 - 缩小保留:执行
powercfg /hibernate /size 50,把休眠文件压缩到约 50% 内存大小(数值可调 40~100),同时保留"快速启动"功能。 - 重新开启:执行
powercfg /hibernate on,重新开启休眠功能。
5.3. 内存转储 Memory Dump(几百 KB 到接近整条内存)
系统蓝屏崩溃时自动生成,记录崩溃瞬间的内存状态,供事后定位问题原因,平时不出问题就不会新增。体积由"转储类型"决定,差异非常大:
| 转储类型 | 大致体积 | 说明 |
|---|---|---|
| 小内存转储 | 约几百 KB | Windows 默认类型,只记录关键信息,体积可忽略 |
| 核心内存转储 | 通常几百 MB | 记录内核占用的内存,比完整转储小很多 |
| 完整内存转储 | ≈ 物理内存大小 | 记录全部物理内存内容,最容易占满系统盘 |
关闭写入调试信息(两步):
- 右键「此电脑」→ 属性 → 高级系统设置,进入"系统属性"窗口
- 切到「高级」选项卡 →"启动和故障恢复"区域点【设置】→ 把"写入调试信息"改为小内存转储(256KB),确定保存
关闭后如果系统再次蓝屏,将无法生成转储文件用于排查原因,建议只在临时腾空间时关闭,问题解决后可以再改回来。
6. 系统缓存 / 临时文件
核心区域:
- Windows Update 缓存
- Temp 临时文件夹
C:\Windows.old目录(系统更新后保留的旧版本备份)- 系统日志 / WER(错误报告)
推荐工具:BleachBit、WindowsCleaner(https://github.com/darkmatter2048/WindowsCleaner)等清理工具可以辅助完成这部分清理。
⚠️ WinSxS 目录千万别删——这是系统组件存储区,关系到系统更新和修复能力,误删可能导致系统故障,只能通过系统自带的组件清理机制(如
DISM /online /Cleanup-Image /StartComponentCleanup)处理,不要手动删除。
6.1. 顺带一提:其它可选清理项(不是重点,简单了解即可)
- Prefetch 缓存 —— ⚠️ 不建议手动清,它是用来加速程序启动的,手动清反而可能拖慢启动速度
- DriverStore 驱动备份
- 系统还原点
- 浏览器缓存
- 回收站
这几项不用纠结,也别手滑误删。
7. 开启存储感知(收尾,一劳永逸)
让 Windows 以后自动帮你清理垃圾文件,一次设置,长期生效:设置 → 系统 → 存储 → 打开"存储感知",系统会按你设定的规则自动清理临时文件、回收站中的旧文件等。
8. 总结
| 步骤 | 内容 | 优先级 |
|---|---|---|
| 00 | 用 WizTree 诊断空间占用 | 必做 · 先看清再动手 |
| 01 | 转移桌面/文档/下载等常用文件夹 | 新手友好 · 见效最快 |
| 02 | 优化 AppData(软件设置 / mklink) | 重点 · 头号空间杀手 |
| 03 | 处理 pagefile / hiberfil / Memory Dump | 看内存大小决定 |
| 04 | 清理系统缓存与临时文件 | 重点 · 空间收益最大 |
| 05 | 开启存储感知 | 收尾 · 一劳永逸 |
跟着这 6 步做完,C 盘基本能从"爆红警告"变成"绿色健康"。