解决openclaw下载OMM问题

🎯 解决方案:扩容现有 Swap 到 4GB

步骤 1:先关闭当前 2GB Swap
bash 复制代码
# 关闭正在使用的 Swap 文件
sudo swapoff /swapfile

# 删除旧的 Swap 文件
sudo rm -f /swapfile
步骤 2:重新创建 4GB Swap(这次不会冲突)
bash 复制代码
# 1. 创建 4GB 新的 Swap 文件
sudo fallocate -l 4G /swapfile

# 2. 设置权限
sudo chmod 600 /swapfile

# 3. 格式化为 Swap
sudo mkswap /swapfile

# 4. 启用新的 4GB Swap
sudo swapon /swapfile

# 5. 确认开机自动挂载(如果之前加过可跳过,没加就执行)
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
步骤 3:验证扩容是否成功
bash 复制代码
free -h

✅ 正常结果应该是:Swap: 4.0Gi 0B 4.0Gi


🧰 补充:解决 OpenClaw 内存溢出(关键)

你已经有 Swap 了,但还需要调整 Node.js 堆内存限制(这是 OpenClaw 崩溃的核心原因):

bash 复制代码
# 永久设置 Node.js 堆内存上限为 1800MB(2GB 物理内存+4GB Swap 足够用)
echo 'export NODE_OPTIONS="--max-old-space-size=1800"' >> ~/.bashrc
source ~/.bashrc

# 重启 OpenClaw 生效
openclaw restart

# 查看 OpenClaw 运行状态
openclaw status

📝 关键说明

  1. 为什么之前报错?
    • 系统里已经有 2GB Swap 在运行,无法直接覆盖,必须先关闭再重建;
  2. 4GB Swap 足够吗?
    • 你的物理内存是 1.6Gi(实际可用)+ 4Gi Swap,完全能支撑 OpenClaw 运行,不会再 OOM;
  3. 验证效果:
    • 执行 free -h 看到 Swap 是 4.0Gi 就说明扩容成功;
    • 启动 OpenClaw 后,执行 openclaw logs 没有 JavaScript heap out of memory 就彻底解决了。

总结

  1. 核心问题:服务器已有 2GB Swap,但 Node.js 堆内存限制过低导致 OpenClaw 崩溃;
  2. 解决步骤:先扩容 Swap 到 4GB,再调整 Node.js 堆内存上限到 1800MB;
  3. 最终效果:既解决了 Node.js 堆溢出,又用 Swap 兜底防止物理内存不足。
相关推荐
倔强的石头1062 小时前
【Linux指南】基础IO系列(八):实战衔接 —— 给微型 Shell 添加完整重定向功能
linux·运维·服务器
try2find2 小时前
打印ascii码报错问题
java·linux·前端
Ujimatsu3 小时前
虚拟机安装Ubuntu 26.04.x及其常用软件(2026.4)
linux·运维·ubuntu
一直会游泳的小猫5 小时前
homebrew
linux·mac·工具·包管理
寒秋花开曾相惜6 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
狂奔的sherry6 小时前
一次由 mount 引发的 Linux 文件系统“错觉”
linux·运维·服务器
小黑要努力6 小时前
智能音箱遇到的问题(一)
linux·运维·git
ch3nyuyu6 小时前
静态库和动态库的制作
linux·运维·开发语言
一口Linux7 小时前
Linux C编程 | 从0实现telnet获取程序终端控制权
linux·运维·c语言
willhuo7 小时前
Certbot工具在CentOS 7.9上申请和配置SSL证书完整教程
linux·centos·ssl