<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>性能 on Codexer</title><link>https://codexer.com/tags/%E6%80%A7%E8%83%BD/</link><description>Recent content in 性能 on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 23 Jun 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://codexer.com/tags/%E6%80%A7%E8%83%BD/index.xml" rel="self" type="application/rss+xml"/><item><title>Codex 正在偷偷「吃掉」你的 SSD：一个日志 Bug 每年写入 640TB</title><link>https://codexer.com/posts/2026-06-23-codex-ssd-logging-bug/</link><pubDate>Tue, 23 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-23-codex-ssd-logging-bug/</guid><description>&lt;p&gt;想象一个场景：你买了一台新 MacBook，装好 Codex CLI 就开始用它写代码。每天开着终端，Codex 在后台帮你补全、重构、调试。三个月后，你发现电脑越来越慢，打开 Activity Monitor 一看，磁盘写入量已经超过了 150TB。翻遍进程列表，凶手正是那个你最信任的 AI 编程助手。&lt;/p&gt;
&lt;p&gt;这不是虚构。2026 年 6 月 14 日，GitHub 用户 1996fanrui 在 Codex 仓库提交了一个 Issue，标题简洁但触目惊心：「Codex is writing 640 TB/year to my SSD」。&lt;/p&gt;
&lt;h2 id="一个被忽视的诊断日志"&gt;一个被忽视的「诊断日志」&lt;/h2&gt;
&lt;p&gt;问题的核心藏在 &lt;code&gt;~/.codex/logs_2.sqlite&lt;/code&gt; 这个不起眼的文件里。&lt;/p&gt;
&lt;p&gt;Codex CLI 内部有一个日志子系统，它把运行期间的所有事件，包括每一次工具调用、每一段 WebSocket 消息体的完整内容、甚至每次对 &lt;code&gt;/etc/passwd&lt;/code&gt; 和 &lt;code&gt;ld.so.cache&lt;/code&gt; 的平凡文件访问，全部写入一个本地的 SQLite 数据库。&lt;/p&gt;
&lt;p&gt;关键不在于「记录了日志」，而在于&lt;strong&gt;以什么级别记录&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Codex 的 SQLite 日志 sink 默认运行在 TRACE 级别。在传统日志体系里，TRACE 是最低层级，用于调试极其底层的代码执行细节。正常发布的软件产品要么默认关闭 TRACE，要么只在用户主动开启时才启用。但 Codex 的日志子系统不仅默认开 TRACE，而且&lt;strong&gt;完全忽略 &lt;code&gt;RUST_LOG&lt;/code&gt; 环境变量&lt;/strong&gt;，用户没有任何办法调低日志级别。&lt;/p&gt;
&lt;p&gt;更糟糕的是，根据社区分析，约 71% 的写入数据属于 TRACE 级别的噪音日志，对普通用户来说毫无意义。你花钱买的 SSD 寿命，正在被一堆你看不见也用不上的日志数据匀速消耗。&lt;/p&gt;
&lt;h2 id="640-tb-是怎么算出来的"&gt;640 TB 是怎么算出来的&lt;/h2&gt;
&lt;p&gt;1996fanrui 的机器上有一块 1TB SSD。他在 21 天里积累了约 37TB 的写入量，折合每天约 1.76TB。按这个速率往下推，一年就是 640TB。&lt;/p&gt;</description></item></channel></rss>