为什么 AI 编码工具会吃掉你的 RAM(以及如何修复)

发布: (2026年3月17日 GMT+8 16:07)
3 分钟阅读
原文: Dev.to

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:

欢迎贡献。

0 浏览
Back to Blog

相关文章

阅读更多 »