拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用Codex揪出C盘爆满的“隐形大户”:一次真实的磁盘清理实战

电脑弹窗提示“磁盘空间不足”的那一刻我相信大多数人都和我一样心里咯噔一下。C盘又爆了——这不是第一次也大概率不会是最后一次。我平时自认还算有点电脑常识可面对那个刺眼的红色条第一反应还是打开浏览器搜“C盘满了怎么清理”把排名靠前的教程挨个试了一遍磁盘清理、删临时文件、关休眠、移动桌面……结果呢释放了三五个GB没两天红条又回来了。真正帮我解决问题的反而是我一个写代码时用的命令行AI助手 Codex。它没有教我“怎么清理”而是直接帮我把C盘里的“隐形大户”一个一个揪出来最后还真让我找到了那个疯狂写盘的罪魁祸首。这篇文章就把这次的完整排查过程写下来包括我踩过的坑、Codex 的配置方法以及真正有用的C盘空间维护思路适合所有被C盘逼疯的朋友参考。1. 先说一下 C 盘爆满的现场情况1.1 症状不是慢慢变满而是一夜之间红了这次的情况挺典型。白天用电脑还好好的晚上编译完一个项目系统就开始不对劲了先是 Windows 提示“磁盘空间不足”接着浏览器下载文件失败连微信都在不停报错。我打开“此电脑”一看C盘剩余空间直接从昨天还有二十多GB掉到了不到3GB。说实话这种“一夜爆满”比慢慢变满更让人头疼因为它往往意味着有东西在短时间内疯狂写入而不是日积月累攒出来的。我当时的直觉是先想最近装了什么大软件。但翻了一遍最近也没装什么大件唯一的变动就是升级了某个开发工具。于是我开始老老实实按网上的教程折腾把能试的方法全部过了一遍。其实C盘爆满这件事绝大多数人都会经历Windows 系统盘本身就有页面文件、休眠文件、组件存储这些“天生大户”再加上各种软件把缓存默认放在C盘稍微不留意几十GB空间说没就没。关键在于你得知道什么能删、什么不能删以及真正的大头到底在哪里。1.2 网上教程的“标准动作”我真的全试了一遍这里我把网上的常见招数做个总结也说说我实测下来的真实效果教程方法操作我的实测效果副作用磁盘清理系统自带工具勾选临时文件、更新缓存释放约2GB杯水车薪基本无清理Temp目录删 %TEMP% 和 C:\Windows\Temp释放几百MB到1GB需退出运行中的软件关闭休眠powercfg /h off拿走 hiberfil.sys约4GB失去休眠功能转移桌面/文档/下载把用户目录大文件搬到D盘适合文件多的人我只省了1GB部分软件路径会变第三方清理软件各种“清理大师”不敢用怕装全家桶风险远大于收益这些动作全部做完总共释放了差不多7GBC盘从3GB变成了10GB左右。我当时还挺满意以为问题解决了。结果第二天下午打开电脑一看C盘又红了剩余空间只剩1.2GB。那一刻我真的有点上头肯定有什么东西在后台疯狂写盘而教程里的这些“一次性清理”根本治不了根。也就是从这时候起我决定换个思路去找那个真正在背后吃空间的“真凶”。2. 为什么常规清理总是治标不治本2.1 教程清的都是“明面垃圾”真正的大户藏得很深先说明一个很多人容易忽略的事实C盘占用高大头往往不是缓存和临时文件而是那些“看不见”的系统文件与软件数据。拿我这次的情况来说表面看临时文件占了一点空间但让C盘“一夜爆满”的绝对不可能是老老实实躺在 Temp 文件夹里的东西而是一个在后台疯狂写数据的进程。这种持续膨胀的东西常规教程根本不会告诉你上哪儿找。它们可能是某软件服务不停输出的日志文件一天能写几十GB也可能是 WSL2 或 Docker Desktop 的虚拟磁盘文件 ext4.vhdx 无限膨胀还可能是数据库、索引文件异常增长甚至系统事件日志疯长。这些文件不会出现在“磁盘清理”的列表里因为系统认为它们是“程序数据”不是垃圾。它们的共同点是目录层级深、文件名不起眼、单个文件巨大或者数量多到资源管理器打开就卡死。比如我后来找到的那个日志目录光文件个数就有几十万你正常用鼠标点属性去看大小电脑能卡上半天。2.2 自带工具和分析软件能看到大小但看不到“为什么”遇到这种情况很多人会想到用磁盘分析工具比如 WizTree、TreeSize、SpaceSniffer。这些工具确实很强能以极快速度按区块图展示哪个目录最大。我也装了 WizTree 扫了一遍很快就看到了几个大户C:\Windows\SoftwareDistribution 更新缓存、用户 AppData 下的临时目录、还有 C:\ProgramData 里某个软件目录。但问题来了工具只能告诉我“哪个目录大”不能告诉我“这个目录为什么在变大”“背后的进程是谁”“现在能不能删除”。我当时对着一个 40GB 的文件夹发愣不知道它是系统的必要组件还是可以清理的缓存也不知道它现在是不是还在继续膨胀。我总不能把C盘里的大文件挨个百度一遍。换句话说磁盘分析工具擅长回答“空间都花在哪了”却不擅长回答“这个问题怎么解决”。而后面我要讲的 Codex正好能把这两件事串起来分析、判断、执行、验证全程自主迭代。2.3 忽略“增长速度”是最大的盲区这次经历让我明白了一个非常关键的概念排查C盘爆满不能只看存量更要看增量。存量分析就是看现在哪些文件大、哪些目录占空间多增量分析则是看哪些文件在最近几小时、几天内持续增长。如果你只是把现存的大文件删一删但那个“罪魁祸首”还在后台继续写盘空间很快又会满。反过来一旦你找到“增长源”并把问题解决不仅能释放空间而且不会再复发。我当时其实已经隐约猜到是日志之类的文件在膨胀但问题是不知道去哪一层级找。也想过用 Process Monitor 去监控文件写入但那玩意儿对普通用户来说实在太重了打开后满屏事件流根本不知道怎么过滤。就在这时候我想到手上不是有 Codex 吗与其自己在茫茫文件海里瞎猜不如让它帮我把这个活儿干了——毕竟这种事本来就是反复写脚本、跑命令、看结果的迭代过程完全就是AI工具的主场。3. Codex 是怎么介入的安装、配置和第一轮对话3.1 为什么是 Codex它不是个写代码的工具吗可能有朋友会问清理C盘为什么要扯到一个AI编程工具这里我得解释一下。Codex 是一个运行在命令行里的AI编程助手和网页问答AI最大的区别在于它能直接在终端里读写文件、执行命令相当于一个能实际动手操作你电脑的AI开发搭子。它不只是“告诉你怎么做”而是真的接管终端去完成你布置的任务。换一个更容易理解的说法普通AI聊天是“你问我答”而 Codex 是“你说目标它动手干”。你可以让它“扫描C盘目录按大小排序找出最大的20个文件夹”它会自己写PowerShell脚本、执行、看结果如果脚本报错或者结果不合理它还会修改脚本再跑一轮。这正是排查C盘问题时理想的工作流——因为磁盘分析本质上是大量迭代式调查不是一次问答就能搞定的。当然我这也算开发工具的非常规用法不写业务代码拿来清理电脑。但实际用下来效果真的比一般清理软件靠谱太多因为它能按你的实际需求定制分析逻辑而不是走一套固定流程。3.2 安装与配置装好之后别急着用先看这两步Codex 的安装本身不复杂。前提是你的电脑上有 Node.js建议18以上版本然后用 npm 全局安装npm install -g openai/codex装完后在终端里运行 codex 就能进入交互界面。Windows 上如果 npm 方式遇到问题也可以去官方 GitHub Releases 页面下载对应的安装包。首次使用需要认证如果走官方服务登录 OpenAI 账号拿到 API Key然后设置环境变量OPENAI_API_KEY即可。如果和我一样用的是国内可访问的兼容 API比如 DeepSeek则需要额外配置base_url和模型名。我分享一下实际用的配置方式在 Codex 的配置文件 config.toml 里添加一个自定义 provider。这个文件的位置不同系统不一样Windows 下通常可以直接在用户目录下创建.codex/config.tomlmodel_providers [ { name deepseek, base_url https://api.deepseek.com/v1, env_key DEEPSEEK_API_KEY } ] model deepseek-chat model_provider deepseek设置好后在环境变量里放上对应的 API Key再运行 codex 就能正常对话了。具体 provider 的参数会因 API 服务商不同而有差异但核心思路是一样的只要对方提供一个 OpenAI 兼容的接口Codex 就能跑起来。注意不要把 API Key 写死在配置文件里更不要提交到公开仓库。用环境变量是更安全的做法就算泄露了也可以随时吊销重生成。3.3 第一次对话给 Codex 下达“查明C盘占用”的任务配置好之后我在 Codex 交互窗口里输入了第一个任务大意是我的C盘快满了请帮我扫描C盘根目录下各个一级文件夹的大小 按占用从高到低列出不要放过隐藏目录和系统目录。注意我没说得太细只给了目标和约束。Codex 会根据我的系统环境自己决定用什么方式实现它在 Linux 下会用 du在 Windows 下就会切到 PowerShell。它会先列一个大致的执行计划然后直接开干。说实话第一次看到它自己在终端里噼里啪啦跑命令时我还真有点不放心怕它把系统搞坏。但观察几步之后发现它的每个操作都有输出反馈我随时可以按 CtrlC 中断关键命令也会先征求确认。这和手动操作其实一样可控。它跑完第一轮以后返回了一张清晰的表格C盘一级目录的大小从大到小排列。这张表当场就把我看愣了一个我此前用 WizTree 扫过、却没特别注意到的目录异常地大。4. 排查全过程Codex 是怎么一步步找到真凶的4.1 第一轮扫描全盘目录占用明细Codex 第一轮生成的扫描脚本大概长这样$folders Get-ChildItem -Path C:\ -Directory -Force -ErrorAction SilentlyContinue $results foreach ($folder in $folders) { $bytes (Get-ChildItem -Path $folder.FullName -Recurse -File -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum [PSCustomObject]{ 目录 $folder.FullName 大小GB [math]::Round($bytes / 1GB, 2) } } $results | Sort-Object 大小GB -Descending | Format-Table -AutoSize这段脚本的原理很直白遍历C盘根目录下每个一级文件夹递归统计里面所有文件的大小再汇总排序。第一次跑会比较慢尤其文件数量多的时候所以耐心等几分钟就好。如果追求速度也可以改用 robocopy 或者直接调用 WizTree 的导出接口不过就这次排查而言PowerShell 已经够用了。执行结果给我一张排序表占用前三名大致是这样的目录大小初步判断C:\Users\xxx\AppData约25GB用户数据需要进一步拆解C:\ProgramData约38GB异常偏高重点怀疑对象C:\Windows约20GB系统目录WinSxS、SoftwareDistribution 等先不动C:\Program Files约8GB正常安装的应用我以前清理C盘基本只看 C:\Users 下的 AppData从没认真统计过 C:\ProgramData 这个系统级数据目录。38GB 这个数字瞬间引起我的警觉——问题很可能就藏在系统级程序的数据目录里。4.2 第二轮抽丝剥茧定位到具体文件和进程看到 C:\ProgramData 异常偏大后我没有让 Codex 直接去删而是让它继续深入输入了第二个任务继续扫描 C:\ProgramData 下的二级目录按大小排序 同时列出每个目录里最大的前5个文件注意看修改时间。Codex 很快又写了一段脚本跑完结果迅速指向了某个软件的子目录。再往下一层终于看到一个日志文件夹里面的 .log 文件数量多到惊人有几个文件已经到GB级别。更关键的是Codex 在执行过程中顺手按修改时间排了序发现这些日志文件全部是在最近两天内疯狂增长平均每隔几秒就会追加一段内容。到这里真凶基本浮出水面某个常驻服务的日志模块出了问题在无限循环地写入错误信息两天时间生成了三十多GB的日志。这也完美解释了为什么清理完临时文件之后C盘又迅速变红——我清掉的只是外围的存量垃圾而那个“日志永动机”一直躲在后台源源不断地生产着新垃圾。常规磁盘清理工具根本不会在意这种非缓存类的日志文件所以它们才成了真正的盲区。4.3 收尾处理清日志、修配置、验证不再复发定位到具体日志路径后我没有贸然把整个目录干掉。正确的操作顺序是停止对应的服务进程让日志不再继续写入。删除或归档旧日志文件释放磁盘空间。检查服务配置文件把日志级别从 DEBUG 或 ERROR 调整到正常水平或者配置按大小自动轮转。重启服务观察一段时间确认日志文件没有再次暴涨。这四步里面第1步最容易被人忽略。很多人看到大文件就直接删但对应进程还开着的话删完它会立刻重新创建文件甚至有些程序是退出时重新生成导致你删了个寂寞。我当时先让 Codex 帮我查清了这个服务的启动方式和配置文件位置然后手动停掉服务再进行清理最后还把日志级别调到了合理的 INFO给日志目录配了轮转策略。清理完之后我又等了几个小时确认日志目录的大小稳定不再变化才算真正收工。这次的实际战果是从C盘清出大概35GB空间而且根源修复之后C盘再也没有突然变红过。比起教程里那些几个GB的“蚊子腿”这才是真正值得处理的部分。5. 实战下来的避坑清单与日常维护建议5.1 C盘清理常见的几个坑我替你们踩过了整理几个我在整个排查过程中踩过或者差点踩的坑真的是血泪经验C:\Windows\WinSxS 里的文件千万别直接删。这个目录是 Windows 组件存储里面大量硬链接和共享文件暴力删除会导致系统更新失败甚至系统损坏。想清理只能通过 DISMDism /Online /Cleanup-Image /StartComponentCleanup。WSL2 和 Docker Desktop 的 vhdx 虚拟磁盘不能手动删。网上很多教程直接说“把 ext4.vhdx 删了就能释放空间”但那个文件里装的是整套 Linux 子系统数据删了等于你 WSL 里的东西全没了。正确做法是进入 WSL 执行wsl --shutdown后用 diskpart 或 Optimize-VHD 压缩或者把整个发行版迁移到其他盘。页面文件 pagefile.sys 别随手关。它确实占几个GB但那是虚拟内存的一部分直接禁用可能让某些大型软件崩溃。更合理的做法是让系统自动托管或者迁移到D盘。清理 Temp 文件夹之前先退出正在运行的软件。否则文件被占用删不掉是小事删错正在使用的临时文件导致软件异常才是大麻烦。网上流传的“C盘一键清理bat”要谨慎。很多脚本是写死删除固定目录的不一定适配你的环境而且杀毒软件大概率会报毒。看似方便实际风险都在你看不到的地方。如果想给C盘扩容可以用磁盘管理软件把相邻分区的一部分空间划给C盘但操作前务必备份数据这种分区调整一旦断电或出错数据恢复的成本很高。5.2 Codex 使用中的几个问题速查在这次使用 Codex 的过程中我也遇到几个小问题整理成表格给同样在 Windows 上折腾的朋友参考出现的问题现象解决办法认证失败提示 auth token is unavailable检查环境变量里的 API Key 是否设置正确官方账号则重新登录认证模型不支持提示 model is not supported检查 config.toml 里的模型名是否与 API 服务商匹配换成支持的模型安装不完整Windows 上 codex 安装未完成确认 Node.js 版本在18以上网络稳定后重装必要时以管理员权限运行权限不足扫描系统目录时提示拒绝访问用管理员身份打开终端再运行 codex同时注意不要随意改动系统文件扫描卡住大目录遍历时长时间没输出正常现象文件多时等几分钟也可以让 Codex 换用更快的扫描方式还有一点很关键如果你打算让 Codex 执行可能影响系统的命令建议先让它把命令内容列出来你确认后再放行。Codex 本身有权限控制机制可以在执行前逐步审阅养成这个习惯安全性会高很多。毕竟工具越强越要对它的行为负责。5.3 日常防止C盘爆满的几个习惯找到真凶之后我开始反思明明平时也挺注意清理为什么还是让C盘爆了说到底清理是事后补救预防才是关键。分享几个我现在坚持的习惯定期跑磁盘分析脚本。不用天天跑每两周一次把C盘各顶层目录的大小变化记录下来谁在偷偷长胖一目了然。重点盯“增量”。看到某个目录突然变大优先查最近修改时间别等爆满再处理。开发工具的缓存尽量外置。npm、pip、Docker Desktop 的数据目录都可以改到其他盘网上都有成熟的迁移方法一次设置终身受益。微信、QQ 的文件存储位置要第一时间改到D盘这能省下非常夸张的空间。系统更新后用 DISM 做一次组件清理把旧版本更新文件清掉避免 WinSxS 无限膨胀。给C盘留足余量。我个人经验是至少保留20%空闲空间不然各种更新、缓存、临时文件都会出问题。最后再分享一个特别有用的小技巧遇到C盘突然爆满先别急着删优先找出最近24小时内体积变化最大的文件看log、tmp、vhdx、db这些后缀八成真凶都藏在这里面。这次如果不是 Codex 帮我把这些“数据尾巴”挨个翻出来我可能还在重复清理、爆满、再清理的死循环里。希望这次的完整排查过程能帮你少走一些弯路。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门