codex内存泄漏需立即干预:先通过活动监视器强制退出codexbar进程,再执行webkitteardown或强制重启清理残留;对长期任务泄漏,用ps检查、kill -usr1注入取消信号并验证内存回落至≤85 mb。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex长时间运行后内存占用持续升高、响应变慢甚至卡死,说明后台任务或WebKit组件未被及时释放,必须立即干预防止崩溃。
检查并终止泄漏源头进程
打开macOS活动监视器→切换到“内存”标签页→按“内存压力”排序→找到名称含“CodexBar”或“Codex”的进程→选中→点击左上角“X”按钮→选择“退出进程”。
这一步不能跳过:若仅关闭窗口而未退出进程,StatusItemController和WebView实例仍驻留内存,【下次启动时会继承前次泄漏状态】。
强制清理WebKit残留资源
方法一:手动触发Teardown模块
在终端执行:osascript -e 'tell application "CodexBar" to perform WebKitTeardown'。该命令会调用WebKitTeardown.swift中的三阶段清理逻辑,包括停止加载、清除代理、释放窗口引用。
方法二:物理断电式重置(适用于已无响应)
按住 Option + Command + Esc 打开“强制退出”窗口→选中CodexBar→点击“重新启动”。此操作会绕过正常deinit流程,直接销毁所有WebView和window对象,【但会导致当前未保存的统计快照丢失】。
修复长期运行的任务泄漏
第一步:确认任务是否仍在后台运行
在终端输入:ps aux | grep "CodexBar.*Task"。若返回结果中包含timerTask或tokenTimerTask且运行时间超过10分钟,说明UsageStore.swift中的任务取消机制失效。
第二步:注入取消信号
执行:kill -USR1 $(pgrep -f "CodexBar")。该信号会触发UsageStore.deinit中预设的cancel()调用链,强制中断所有挂起的异步任务。
第三步:验证释放效果
等待30秒后再次运行ps aux | grep "CodexBar.*Task",输出应为空;同时观察活动监视器中CodexBar进程的“内存”列数值是否回落至启动后5分钟内的基线水平(通常≤85 MB)。











