部署 OpenClaw 踩坑记录:2GB 内存服务器的求生指南

30 阅读4分钟

耗时 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 内存,体验会好很多
  • 监控命令: htopfree -hswapon --show

关于部署方式

方式难度稳定性适合人群
腾讯云模板⭐ 简单⭐⭐⭐ 高想快速上手的同学
手动部署⭐⭐⭐ 复杂⭐⭐⭐ 高喜欢折腾、需要定制的同学
Docker 部署⭐⭐ 中等⭐⭐⭐ 高熟悉容器化的同学

总结

本次踩坑的核心教训:

  1. 小内存服务器必须配 swap,否则内存耗尽时系统会卡死
  2. 使用 openclaw gateway start 而不是 run,确保 SSH 断开后服务继续运行
  3. 2GB 内存是底线,如果预算允许,建议上 4GB

希望这篇文章能帮到你,少踩一些坑!


参考链接:

如果有问题,欢迎在评论区交流 👇