为什么 AI 编码工具会吃掉你的 RAM(以及如何修复)
Source: Dev.to
问题概述
如果你使用 Claude、Code、Codex 或类似的 AI 编码助手,可能已经注意到机器会随时间变慢——RAM 使用率逐渐升高,风扇加速,最终需要强制重启。大多数人会把责任归咎于 AI 工具,但真正的罪魁祸首通常是孤儿子进程。
每次启动 Claude/Code 会话时,它会生成子进程。当会话结束——尤其是在崩溃或强制退出后——这些子进程并不总是会退出。它们会变成 孤儿,仍在运行并继续占用 RAM。
严重程度如何?
我在一台配有 32 GB RAM 的 MacBook Pro 上亲身经历了这一问题,机器几乎卡死:
- 负载平均值: 2.30(正常约为 0.4–0.8)
- 空闲进程消耗的 RAM: 大约 22 GB
为什么会这样
根本原因很简单:进程生命周期管理很困难。当 Claude/Code 会话正常退出时会尝试清理,但每次会话都会留下少量残余。经过一周的高强度使用,你可能会看到数十个僵尸进程仍在徘徊。
解决方案:zclean
我编写了 zclean,一个小型 CLI,能够自动查找并清理这些孤儿进程。
安装
npx thestackai zclean init
此命令会设置两层保护。
安全模型
最重要的设计决策是:如果父进程仍在运行,就不要动它。zclean 只会杀死以下进程:
- 你在终端标签页中手动启动的
vite dev服务器 → 不触碰 - 你在 tmux 中运行的
node api.js→ 不触碰 - 来自已结束 AI 会话的 真正僵尸 → 被杀死
实际效果演示
zclean
Found 8 zombie processes
PID 26413 node 367 MB orphan 18h (was claude mcp server)
Total: 8 zombies, 20 GB reclaimable
zclean yes
Cleaned 8 zombie processes
Reclaimed 20 GB
检查僵尸进程
你可以手动在任务管理器中查看不活跃的 node 进程是否为僵尸,或直接运行:
npx thestackai zclean
链接
- GitHub:
- NPM:
欢迎贡献。