有研究員發現 OpenAI 程式開發工具 Codex CLI 發生嚴重錯誤,會持續對本機 SQLite 資料庫高頻寫入記錄檔(Log),21 天內累積約 37TB 容量,一年約 640TB,遠超過一般 1TB 消費級 SSD 約 600TBW 壽命上限,對使用者硬體造成極大威脅。
GitHub 使用者 1996fanrui 14 日率先記錄此問題。他發現 Codex CLI 內 SQLite 回饋接收器預設啟用最高雜訊(Noise)等級 TRACE,並無視標準 RUST_LOG 環境變數,導致使用者無法透過常規方式調低紀錄檔等級。這項設定讓工具記錄所有原始 WebSocket 酬載(Payload),以及 inotify 監測等瑣碎的檔案系統事件。舉例來說,開啟 passwd 或 ld.so.cache 等,會讓 TRACE 等級雜訊佔據整個資料庫儲存容量約 70.7%,對一般使用者毫無診斷價值。
雖然紀錄檔資料庫 ~/.codex/logs_2.sqlite 大小維持約 1GB,但真實寫入量遠超過這數字。研究員一段 15 秒取樣區間內,觀察到系統插入約 36,211 行記錄。系統同時持續刪除舊記錄以維持資料庫大小,形成不斷循環的「插入即刪除」機制,產生巨大寫入放大效應,代表 SSD 承受的實際寫入量,遠遠超過資料庫檔案大小呈現的數字。
使用者 4 月起已回報多個相關 GitHub 問題,涉及 SQLite WAL 無限增長及 Windows WSL2 磁碟 100% 占用等。OpenAI 雖然更新紀錄提及部分 SQLite 的可靠性修正,但核心寫入速率問題至今未解決,相關問題仍保持開放狀態。Linux 及 macOS 使用者可採用臨時方案,將 ~/.codex/logs_2.sqlite 透過 symlink 導向 /tmp/,寫入動作重新導向記憶體。由於該檔案不含對話資料,重開機後消失也不影響使用。
(本文由 Unwire HK 授權轉載;首圖來源:shutterstock)






