Skip to content

OpenClaw 升级 v2026.4.5 后 Gateway CPU 占用 100% 无法恢复

问题

从 v2026.4.2 升级到 v2026.4.5 后,Gateway 进程立即占用 100%+ CPU 并持续不降,日志循环输出 legacy config 警告:

channels.telegram: channels.telegram.streamMode is legacy; use channels.telegram.streaming instead. Run "openclaw doctor --fix".
tools.web.search: tools.web.search provider-owned config moved to plugins.entries.<plugin>.config.webSearch. Run "openclaw doctor --fix".

在 CPU 高负载下执行 openclaw doctor --fix 会因 OOM 被 kill(exit 137)。回退到 v2026.4.2 后 CPU 立即恢复正常(约 1%)。

根本原因:v2026.4.5 在处理 legacy config 字段时引入了一个无限循环——配置迁移检测代码在遇到旧字段时持续重复触发而不是执行一次后静默,导致 CPU 自旋。手动迁移 config 字段不足以修复(证实是代码路径问题,而非配置本身)。

解决方案

方案一:迁移 legacy 配置字段(必须先做,但可能不足)

在 OpenClaw 配置文件中替换旧字段:

旧字段(触发警告):

json5
{
  "channels": {
    "telegram": {
      "streamMode": "block"    // legacy
    }
  },
  "tools": {
    "web": {
      "search": { ... }       // legacy
    }
  }
}

新字段(迁移后):

json5
{
  "channels": {
    "telegram": {
      "streaming": { "mode": "block" }
    }
  },
  "plugins": {
    "entries": {
      "brave": {
        "config": {
          "webSearch": { ... }
        }
      }
    }
  }
}

修改后重启 Gateway:

bash
openclaw gateway restart

方案二:回退到 v2026.4.2(已确认正常)

若配置迁移后 CPU 仍未恢复(此为已知情况),暂时回退:

bash
# Docker 部署
docker pull openclaw/openclaw:v2026.4.2
docker compose down && docker compose up -d

# npm/直接安装
npm install -g openclaw@2026.4.2
openclaw gateway restart

方案三:等待官方修复

关注 GitHub #61701,确认修复版本后再升级。

方案四:在高 CPU 下强制执行 doctor

若需要在高负载环境下迁移配置:

bash
# 先降低 gateway 进程优先级,再执行 doctor
renice 19 $(pgrep -f openclaw-gateway)
openclaw doctor --fix

常见问题

Q: 我手动把 streamMode 和 tools.web.search 都改了,但 CPU 还是 100%,为什么?

A: 这是已知情况——手动迁移配置字段不足以修复此 bug,说明 CPU 自旋的根本原因不只是配置字段本身,而是 v2026.4.5 的代码路径存在缺陷。建议直接回退到 v2026.4.2 等待官方补丁。

Q: v2026.4.6 或更新版本修复了吗?

A: 截至问题报告时(2026.4.15 仍有用户报告),官方尚未完全修复。升级前建议在测试环境先验证。

Q: 7 个 Telegram Bot 账号的配置是否会加重此问题?

A: 多账号配置会增加配置迁移检测的循环次数,但单账号也会触发 CPU 自旋,这不是多账号特有问题。