Install
openclaw skills install @thinhbuiii/vps-lite-bootTối ưu máy chủ: hạ tải + chống OOM cho VPS yếu (2GB RAM), hạ maxConcurrent, thêm swap, chống OOM killer giết gateway.
openclaw skills install @thinhbuiii/vps-lite-bootGiúp VPS RAM nhỏ (1–2GB) chạy OpenClaw không bị vòng lặp restart do OOM Killer giết tiến trình openclaw-gateway.
Skill này thay đổi cấu hình hệ thống:
openclaw.json (hạ giới hạn chạy song song) — luôn backup trước khi sửa./etc/fstab (thêm 1 dòng) — file ảnh hưởng lúc khởi động máy.Chỉ chạy khi người dùng hiểu và đồng ý. Nêu rõ các điểm trên và chờ xác nhận trước khi làm.
Phạm vi (scope) — chỉ đúng việc này:
agents.defaults.maxConcurrent và agents.defaults.subagents.maxConcurrent.OpenClaw chạy một tiến trình openclaw-gateway duy nhất (in-process). "Worker"/"session" là task BÊN TRONG tiến trình — không phải process riêng để kill. Vì vậy:
Triệu chứng OOM điển hình trên VPS 2GB:
Gateway start → khôi phục session → RAM thực tăng cao → Kernel OOM Killer
→ giết openclaw-gateway → systemd tự restart → lặp vô hạn
Out of memory, oom-killer, Killed process ... openclaw-gateway.Người dùng chỉ cần nói điều họ thấy/điều họ muốn. Chỉ 1 câu là đủ để kích hoạt skill này:
⚠️ Lưu ý khi người dùng nói chung chung ("tối ưu máy chủ"): chỉ áp dụng skill này cho ca máy yếu / hay treo / thiếu RAM (RAM ≤2GB, gateway tự restart). Nếu ý người dùng là việc khác (dọn log, cập nhật, tối ưu web...) → hỏi lại trước, không tự làm.
Chỉ thực thi khi người yêu cầu là owner. Chạy các lệnh chỉ đọc sau, thu thập số liệu THẬT:
# RAM & swap hiện tại
free -m
swapon --show
cat /proc/swaps
# Kiểm tra có bị OOM không (bằng chứng thật)
journalctl -k --since "3 days ago" 2>/dev/null | grep -iE "oom|killed process" | tail -20
dmesg 2>/dev/null | grep -iE "oom|killed process" | tail -20
# Tiến trình gateway
ps aux | grep -i openclaw-gateway | grep -v grep
# Cấu hình hiện tại (chỉ đọc các số liên quan)
python3 - <<'PY'
import json,os
p=os.path.expanduser("~/config/openclaw.json")
if not os.path.exists(p): p=os.path.expanduser("~/.openclaw/openclaw.json")
d=json.load(open(p))
ag=(d.get("agents") or {}).get("defaults") or {}
print("config:", p)
print("maxConcurrent:", ag.get("maxConcurrent"))
print("subagents.maxConcurrent:", (ag.get("subagents") or {}).get("maxConcurrent"))
PY
Đây là việc đúng nhất cho triệu chứng "khôi phục session làm RAM tăng vọt".
cp ~/config/openclaw.json ~/config/openclaw.json.bak.$(date +%F-%H%M)
agents.defaults.maxConcurrent: 1 (mặc định 4)agents.defaults.subagents.maxConcurrent: 1–2 (mặc định 8)openclaw config set agents.defaults.maxConcurrent 1
openclaw config set agents.defaults.subagents.maxConcurrent 1
gateway config.patch, hoặc sửa JSON thủ công sau khi backup.)openclaw config validate
SWAPFILE=/swapfile
SWAPSIZE=2G
sudo fallocate -l $SWAPSIZE $SWAPFILE || sudo dd if=/dev/zero of=$SWAPFILE bs=1M count=2048 status=progress
sudo chmod 600 $SWAPFILE
sudo mkswap $SWAPFILE
sudo swapon $SWAPFILE
swapon --show; free -m
sudo cp /etc/fstab /etc/fstab.bak.$(date +%F-%H%M)grep -nE '^[^#]*swap' /etc/fstabecho "$SWAPFILE none swap sw 0 0" | sudo tee -a /etc/fstabsudo findmnt --verify --verbose và sudo swapon -a — lỗi thì restore fstab backup ngay. Sai fstab = máy không boot.OOM Killer vẫn có thể chọn giết gateway khi hết RAM. Có thể giảm ưu tiên giết gateway để nó sống sót hơn (nhưng vẫn nên kèm Bước 1+2):
systemctl --user nếu gateway chạy user service):
mkdir -p ~/.config/systemd/user/<service>.d
printf '[Service]\nOOMScoreAdjust=-500\nMemoryHigh=75%%\nMemoryMax=90%%\n' \
> ~/.config/systemd/user/<service>.d/10-oom.conf
systemctl --user daemon-reload
systemctl --user restart <service>
<service> = tên service gateway thật (kiểm tra bằng systemctl --user list-units | grep -i openclaw).# restart gateway (dùng restart, KHÔNG stop+start)
openclaw gateway restart
sleep 60
free -m; swapon --show
ps aux | grep -i openclaw-gateway | grep -v grep
journalctl -k --since "2 minutes ago" | grep -iE "oom|killed" | tail
| Tình huống | Cách xử lý |
|---|---|
| Không thấy dấu hiệu OOM | KHÔNG sửa; hỏi lại triệu chứng thật, kiểm tra log khác. |
openclaw config set không hỗ trợ | Backup rồi sửa JSON thủ công (merge từng field), validate lại. |
fallocate lỗi FS | Dùng dd. |
| fstab validate lỗi | Restore fstab.bak ngay; không reboot. |
| Vẫn OOM sau khi hạ tải | Báo thật: cần nâng RAM VPS (khuyến nghị 4GB). |
| Không chắc tên systemd service | Bỏ qua Bước 3, nêu rõ lý do, không đoán bừa. |
openclaw-gateway (in-process) — không có worker riêng để kill.maxConcurrent + swap + OOM adjustment.maxConcurrent=1 + subagents.maxConcurrent=1 là cấu hình an toàn tối thiểu.