耗时 4 小时的部署血泪史,希望能帮到你
前言
最近想在自己的服务器上部署 OpenClaw(一个 AI Agent 网关),没想到折腾了将近 4 个小时。本文记录遇到的问题和解决方案,给同样在"贫困线"(2GB 内存)上跑服务的同学一些参考。
我的环境
- 服务器: 腾讯云轻量应用服务器
- 配置: 2核 CPU + 2GB 内存
- 系统: OpenCloudOS 9
- 目标: 部署 OpenClaw,通过飞书与 AI 助手对话
遇到的问题
问题 1:安装后 CPU 飙高,SSH 连不上
按照官方文档安装 OpenClaw 后,发现服务器响应变得极其缓慢,VSCode Remote-SSH 直接连不上,终端也卡死。
排查过程:
通过腾讯云控制台的 VNC 登录服务器,执行 top 命令发现:
%Cpu(s): 90%+ us, 大量进程处于 D 状态(不可中断睡眠)
MiB Mem: 1963.5 total, 73.6 free # 内存几乎耗尽
根本原因:
2GB 内存对于 OpenClaw 来说捉襟见肘:
- OpenClaw Gateway 本身占用 ~500MB
- 系统基础服务占用 ~800MB
- 剩余内存不足时,系统大量使用 swap,导致 IO 飙升,看起来像"CPU 占用高"
问题 2:SSH 断开后 Agent 失联
好不容易通过增加 swap 让系统稳定了,又发现新问题:
# 前台运行网关
openclaw gateway run
这种方式会占用当前终端,SSH 一断开,网关进程就被杀掉了,飞书那边就联系不上 AI 助手了。
解决方案
方案 1:使用腾讯云 OpenClaw 应用模板(推荐)
腾讯云 Marketplace 提供了预配置好的 OpenClaw 模板,它做了一件关键的事情:预配置了 8GB 的 swap 文件。
# 查看 swap 使用情况
swapon --show
# 输出:/swapfile file 8G 232.6M -1
为什么这能解决问题?
- 2GB 物理内存 + 8GB swap = 系统有了"呼吸空间"
- 内存不足时,不常用的数据会被换出到磁盘,避免 OOM(内存耗尽)
- SSH 服务得以正常运行,不会卡死
方案 2:手动配置 swap(自己部署时用)
如果你选择自己从零部署,务必先配置 swap:
# 1. 创建 8GB swap 文件
sudo fallocate -l 8G /swapfile
# 2. 设置权限
sudo chmod 600 /swapfile
# 3. 格式化为 swap
sudo mkswap /swapfile
# 4. 启用 swap
sudo swapon /swapfile
# 5. 开机自动挂载
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 6. 验证
free -h
swapon --show
方案 3:使用后台服务运行网关
解决 SSH 断开导致进程终止的问题:
# 停止前台进程(Ctrl+C 或另开终端)
openclaw gateway stop
# 使用 systemd 服务方式启动
openclaw gateway start
# 查看状态
openclaw gateway status
# 其他常用命令
openclaw gateway restart # 重启
openclaw gateway stop # 停止
前后台区别:
| 命令 | 模式 | SSH 断开后 |
|---|---|---|
openclaw gateway run | 前台运行 | ❌ 进程终止 |
openclaw gateway start | 后台服务 | ✅ 继续运行 |
完整部署流程(2GB 内存优化版)
# 1. 先配置 swap(关键!)
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 2. 安装 OpenClaw
npm install -g openclaw
# 3. 初始化配置
openclaw init
# 4. 配置飞书等渠道(按官方文档)
# ...
# 5. 使用后台服务启动
openclaw gateway start
# 6. 验证状态
openclaw gateway status
一些建议
关于 swap
- 大小建议: swap = 2~4 倍物理内存(2GB 内存配 4-8GB 合理)
- 性能提醒: swap 是"救命稻草"不是"性能加速器",硬盘比内存慢 100-1000 倍
- SSD 优先: 如果用 swap,务必确保是 SSD 硬盘,机械硬盘会很卡
关于内存
- 轻量使用: 2GB + 8GB swap 够用,但高峰期可能稍慢
- 重度使用: 建议升级到 4GB 内存,体验会好很多
- 监控命令:
htop、free -h、swapon --show
关于部署方式
| 方式 | 难度 | 稳定性 | 适合人群 |
|---|---|---|---|
| 腾讯云模板 | ⭐ 简单 | ⭐⭐⭐ 高 | 想快速上手的同学 |
| 手动部署 | ⭐⭐⭐ 复杂 | ⭐⭐⭐ 高 | 喜欢折腾、需要定制的同学 |
| Docker 部署 | ⭐⭐ 中等 | ⭐⭐⭐ 高 | 熟悉容器化的同学 |
总结
本次踩坑的核心教训:
- 小内存服务器必须配 swap,否则内存耗尽时系统会卡死
- 使用
openclaw gateway start而不是run,确保 SSH 断开后服务继续运行 - 2GB 内存是底线,如果预算允许,建议上 4GB
希望这篇文章能帮到你,少踩一些坑!
参考链接:
如果有问题,欢迎在评论区交流 👇