OpenClaw内存占用过高源于默认配置重功能轻资源,需从模型加载、缓存管理、服务精简、上下文限制四层约束:一调按需加载与LRU缓存;二关冗余服务与技能;三缩上下文窗口与对话轮次;四设Docker/ulimit/JVM资源硬限,启用lite_mode可压至512MB以下。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw本地部署后内存占用飙升至3GB以上,导致笔记本卡顿、其他应用频繁被杀,根本原因是默认配置全量加载大模型+长期驻留缓存+冗余服务常驻,不是硬件不行,而是配置没调。
强制启用按需加载与LRU缓存
编辑~/.openclaw/openclaw.json文件,在"glm-flash"配置段内添加两行:
"loadPolicy": "demand" → 让模型只在实际请求时才加载,避免启动即吃光2GB内存
"maxConcurrent": 1 → 限制并发加载数,防止多轮对话触发多个模型实例
再在根节点添加缓存控制参数:"performance.modelCache.maxSizeMB": 1024和"ttlMinutes": 15,启用LRU自动淘汰机制。这一步不做,缓存会越积越多,30分钟后仍占用1.8GB内存不释放。
若使用config.yaml,将load_full_model: true改为false,并追加启动参数--lazy-load=true。
保存后执行openclawgateway restart生效。
关闭图形渲染与调度器等冗余服务
纯命令行或低配设备上,GUI渲染代理和多任务流调度器(MTS)完全无用,却各自常驻300MB+内存:
在openclaw.json的"services"节点下,设"gui_renderer": false和"scheduler.enabled": false。
【注意】禁用前确认你不需要Web界面操作,否则页面将无法加载
执行openclaw config reload热加载配置,无需重启主进程。
验证效果:运行top -p $(pgrep -f 'openclaw.*skill'),观察RES列数值是否回落600MB以上。
通过引导式设置将 OpenClaw 连接至 Shopify,包含本地 .env 密钥存储、Shopify OAuth 认证、webhook 验证、商品和内容操作,以及主机或部署配置。
压缩上下文窗口与对话轮次
默认32768长度的上下文窗口是内存杀手,尤其在连续追问时,每轮对话新增的token都会叠加驻留内存:
第一步:定位"glm-4.7-flash"节点,将"contextWindow"从32768改为8192;
第二步:设"maxTokens": 512,硬性截断输出长度;
第三步:执行openclaw config set context.ttl 300,让单次对话5分钟后自动失效;
第四步:在openclaw-config.yaml中添加context.max_turns: 3和pruning_strategy: "smart",强制三轮后自动裁剪历史。
实测该组合可使内存峰值从2.9GB压至1.3GB,响应延迟同步缩短50%。
设置Docker或ulimit硬性资源上限
方法一(Docker部署):在docker-compose.yml的openhands服务下添加资源限制:
mem_limit: 1.5g → 容器内存上限锁定为1.5GB
mem_reservation: 1g → 预留1GB保障基础运行
方法二(宿主机直跑):启动前执行ulimit -v 1572864(单位KB),硬性封顶1.5GB虚拟内存。
方法三(JVM环境):若用Java版网关,在启动脚本中加入-Xmx1024m -XX:+UseG1GC参数。
启用lite_mode开关可进一步压至512MB以下,但会禁用多模态解析能力。

















