2 核 2G 的阿里云 ECS 能跑 OpenClaw 吗?能,但有点折腾

2 核 2G 的阿里云 ECS 能跑 OpenClaw 吗?能,但有点折腾

最近想在云服务器上跑个 AI Agent,手边刚好有一台阿里云 2 核 2G 的 ECS 闲置。OpenClaw 这个项目看着挺有意思——支持飞书、微信、钉钉多平台接入,能远程遥控 Agent 干活。问题是:2G 内存够不够?

先说结论:够用,但得做点优化。飞书插件没问题,微信插件会吃掉大量内存,需要动点手脚。

本文提纲

  1. 环境准备与一键安装
  2. 连接飞书:一次成功
  3. 微信插件:内存爆了
  4. 解决方案一:增大 Node.js 堆内存
  5. 解决方案二:增加 Swap 空间
  6. 两个方法一起上
  7. 吐槽:GitHub 在阿里云上慢到怀疑人生

环境准备与安装

机器配置:

项目 规格
CPU 2 核
内存 2 GB
系统 Ubuntu 22.04
带宽 1 Mbps(别问)

阿里云现在提供了 OpenClaw 的一键部署方案,在云市场搜索「OpenClaw」或「小龙虾」就行,省去了手动装 Node.js、配环境的麻烦。一键购买后,系统会自动装好 OpenClaw 和所有依赖。

如果你想手动装,也不复杂:

npm install -g openclaw
openclaw init

按提示填好 API Key 和基本配置,Gateway 就能跑起来了:

openclaw gateway --port 18789

看到那只龙虾 logo 出来,基本就成功了。

我这次图省事直接用了一键部署,省了不少折腾环境的时间。

连接飞书:一次成功

飞书插件的配置比较简单。在 OpenClaw 配置文件里添加飞书应用凭证,设置好事件订阅地址,重启 Gateway 就行了。

飞书插件加载后的日志:

[plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes
[plugins] feishu_chat: Registered feishu_chat tool
[plugins] feishu_wiki: Registered feishu_wiki tool
[plugins] feishu_drive: Registered feishu_drive tool
[plugins] feishu_bitable: Registered bitable tools

飞书这边响应很快,发消息过去基本秒回。2 核 2G 跑飞书插件毫无压力,内存占用大概在 300-400MB 左右,完全可控。

这时候我以为事情就这么简单——直到我装了微信插件。

微信插件:内存爆了

微信插件 openclaw-weixin 放在 ~/.openclaw/extensions/ 目录下。装上之后重启 Gateway,看起来一切正常:

[plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load:
  openclaw-weixin (/root/.openclaw/extensions/openclaw-weixin/index.ts).

插件被发现了,开始加载。然后过了大概 20 秒——

<--- Last few GCs --->

[3347:0x70a8000]    22751 ms: Mark-Compact 831.6 (852.3) -> 829.5 (853.3) MB,
  pooled: 0 MB, 1011.10 / 0.00 ms
  (average mu = 0.098, current mu = 0.009) allocation failure;
  scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit
Allocation failed - JavaScript heap out of memory

好家伙,直接 OOM 了。Node.js 进程吃了 800 多 MB 内存,触发了堆内存限制,然后 V8 引擎直接自杀。

2G 内存的服务器,系统本身吃掉一部分,再加上 OpenClaw 和飞书插件,微信插件一上来就撑爆了。

解决方案一:增大 Node.js 堆内存

Node.js 默认的堆内存上限大概是 1.5GB 左右(取决于版本和系统)。我们可以通过 NODE_OPTIONS 环境变量来提高这个限制:

echo 'export NODE_OPTIONS="--max-old-space-size=4096"' >> ~/.bashrc
source ~/.bashrc

这行配置告诉 V8 引擎:"你可以用最多 4GB 的堆内存"。当然 2G 物理内存是装不下 4GB 的,但配合下面的 Swap,就能让系统在内存紧张时把不活跃的数据换到磁盘上。

修改后重启服务:

systemctl --user restart openclaw-gateway.service

解决方案二:增加 Swap 空间

2G 物理内存确实捉襟见肘。Linux 的 Swap 机制可以把磁盘空间当内存用,虽然慢,但至少不会 OOM。

创建一个 2GB 的 Swap 文件:

# 创建 swap 文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 开机自动挂载
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

验证 Swap 是否生效:

free -h

输出大概是这样的:

              total     used     free   shared  buff/cache  available
Mem:          1.9Gi    1.2Gi    200Mi    10Mi     500Mi      500Mi
Swap:         2.0Gi    300Mi    1.7Gi

Swap 生效后,系统多了 2GB 的虚拟内存。虽然磁盘 IO 比内存慢几个数量级,但对于 Agent 这种间歇性工作的场景,完全够用。

两个方法一起上

单独用任何一个方法可能都不够稳。增大堆内存 + 增加 Swap 组合使用才是正解:

  1. NODE_OPTIONS="--max-old-space-size=4096" 告诉 Node.js 可以用更多内存
  2. 2GB Swap 为物理内存提供溢出空间
  3. 系统在内存紧张时自动把不活跃的页面换到 Swap

这样配置之后,重启 Gateway,微信插件终于加载成功了:

[plugins] openclaw-weixin: WeChat bridge connected

飞书 + 微信同时在线,内存占用在 1.2-1.5GB 之间,加上 Swap,稳稳当当。

吐槽:GitHub 在阿里云上慢到怀疑人生

最后说一个跟 OpenClaw 无关但让人崩溃的事:在阿里云 ECS 上访问 GitHub。

npm install 的时候,各种包从 GitHub 下载,那个速度……1Mbps 的带宽本来就寒酸,GitHub 的连接还时不时就超时、重置。有个依赖包下载了 8 次才成功,每次超时等 30 秒。

如果你也遇到这个问题,几个建议:

  1. npm 换源npm config set registry https://registry.npmmirror.com
  2. GitHub 文件用代理ghfast.top 之类的国内加速
  3. 带宽别省:至少 5Mbps 起,1Mbps 是给自己找罪受

这大概是阿里云最让人无语的地方——国内访问 GitHub 的体验取决于你的运气和代理质量。


作者: TheAIEra
来源: 公众号:AI 人工智能时代

本文首发于 AI 人工智能时代,转载请注明出处。

posted @ 2026-04-16 08:07  iTech  阅读(28)  评论(0)    收藏  举报