首页 教程 常见问题

11.4 故障排查实战

性能问题排查

CPU/内存占用高

如果 Claude Code 运行变慢或卡顿:

生成内存快照供分析:

/heapdump

Claude Code 会生成 .heapsnapshot 文件,可在 Chrome DevTools 中打开分析。

自动压缩抖动(Autocompact Thrashing)

如果自动压缩反复失败,出现 "Autocompact is thrashing" 提示:

搜索问题

Search / Grep 找不到文件

确保已安装 ripgrep(Claude Code 用于代码搜索的底层工具):

brew install ripgrep        # macOS
sudo apt install ripgrep    # Ubuntu/Debian
sudo apk add ripgrep        # Alpine Linux
winget install BurntSushi.ripgrep.Discovery  # Windows

如果已安装但仍有问题,可使用内置搜索:

export USE_BUILTIN_RIPGREP=0   # 强制使用 ripgrep
export USE_BUILTIN_RIPGREP=1   # 强制使用内置搜索

WSL 文件读取性能差

WSL 中访问 Windows 文件系统(/mnt/c/)有性能惩罚。解决方法:

调试模式

遇到问题时,启用调试模式获取详细日志:

# 全量调试
claude --debug

# 过滤特定类别
claude --debug "api,hooks"

# 输出到指定文件
claude --debug-file /tmp/claude-debug.log

自动化诊断

在 Claude Code 中运行诊断命令:

/doctor

自动检查:安装状态、配置文件、MCP 服务器、上下文使用情况。

常见错误与解决方案

问题原因解决方案
请求超时网络问题或请求超时设置过短增加 API_TIMEOUT_MS,或检查网络代理
Session 耗尽超出计划的用量额度等待重置或升级订阅
登录后提示未登录凭据文件损坏运行 /logout/login
工具执行挂起命令阻塞或网络问题Ctrl+C 取消,claude --resume 恢复
MCP 服务器连接失败MCP 服务未启动或配置错误检查 .mcp.json 配置,运行 claude mcp list

WSL / 容器环境特殊问题

WSL 中 Claude Code 无法启动

# 如果终端中 claude 命令无响应
claude doctor   # 从普通 shell 运行(不在 Claude Code 内)

# 如果 doctor 也无响应,可能是 WSL 环境问题
# 尝试在 PowerShell 中运行 Windows 版 Claude Code

登录码粘贴失效

在容器中无法完成 OAuth 回调时:

  1. 运行 claude login
  2. 浏览器打开登录页面后,按 c 复制登录码
  3. 将登录码粘贴回终端

故障排查 Checklist

  1. 运行 /doctor 检查基本状态
  2. 检查网络和代理设置
  3. 运行 claude --version 确认版本
  4. 尝试 /logout/login
  5. 检查 ~/.claude/settings.json 配置是否正确
  6. 尝试更新到最新版本 claude update