是内存泄漏,需通过任务管理器观察内存持续上升及aionclaw进程占用激增来确认;再通过配置demand加载、限制缓存、缩短会话、压低上下文、启用gc及清理缓存等措施系统性排查与修复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

先确认是不是真内存泄漏
打开任务管理器(Ctrl+Shift+Esc),切换到“性能”选项卡,点开“内存”→看底部“内存组成”里的【已使用】数值是否随时间持续上升,且在无新任务、无新会话时仍缓慢爬升;如果只是“缓存”或“待机列表”高,那属于Windows正常预读行为,不是AionClaw的问题。
再切回“进程”页,按“内存(活动工作集)”排序,找到名称含 aionclaw 或 openclaw 的进程,盯住它的内存占用曲线——如果5分钟内从300MB涨到1.2GB且不回落,基本可锁定为本地运行态异常。
检查模型加载与缓存策略
方法一:强制启用按需加载
编辑用户数据目录下的配置文件:~/.openclaw/openclaw.json(Windows为 %USERPROFILE%\.openclaw\openclaw.json),在对应模型提供者节点(如 "glm-4.7-flash")下添加:
"loadPolicy": "demand",<br>"maxConcurrent": 1
这能阻止AionClaw启动时一股脑把所有模型权重全载入内存。不加这行,哪怕你只用一个会话,它也可能默认预热3个副本。
方法二:限制缓存生命周期
在同一份 openclaw.json 中,找到或新增 performance.modelCache 区块:
"maxSizeMB": 1024,<br>"ttlMinutes": 15,<br>"evictionPolicy": "lru"
保存后执行 openclaw gateway restart。注意:若跳过重启,旧缓存不会释放,新策略形同虚设。
收紧会话与上下文资源占用
第一步:缩短单次会话存活时间
在 openclaw.json 中定位 gateway.session 节点,设置:
"ttl": 3600,<br>"maxHistory": 5
这表示空闲1小时自动销毁会话,且最多只保留最近5条消息——避免长会话不断累积token embedding和中间状态。
第二步:压低上下文窗口与生成长度
找到 "glm-4.7-flash" 模型段落,将:
"contextWindow": 8192,<br>"maxTokens": 512
原默认值32768会导致内存占用线性翻倍,尤其在多轮对话中,embedding向量矩阵极易撑爆内存。
第三步:启用强制垃圾回收
启动网关时追加参数:openclaw gateway start --gc-interval=5m --gc-threshold=80。该参数会在内存使用率达80%时每5分钟触发一次V8引擎级GC,对Node.js层内存堆积特别有效。
清理本地残留与验证效果
关闭AionClaw客户端,手动删除用户数据目录中的临时缓存:
macOS/Linux:rm -rf ~/.openclaw/cache/*
Windows:del /q "%USERPROFILE%\.openclaw\cache\*"
重新启动AionClaw,新建一个会话并发送3轮简单问答(如“你好”“今天天气如何”“总结上两句”),观察任务管理器中对应进程的内存峰值是否稳定在600MB以内——若仍突破1GB,说明存在未覆盖的Agent技能或插件在后台常驻,需进入客户端“工具管理”→禁用所有非必要扩展后重试。











