AI Automation

OpenClaw là gì và chạy trên VPS cần cấu hình bao nhiêu

Bạn gõ "OpenClaw là gì" lên Google và đang đọc bài này. Đơn giản: OpenClaw là công cụ tự động hoá (automation) thao tác trên trình duyệt web. Khác với cào dữ liệu kiểu cũ dùng curl hay requests, OpenClaw điều khiển cả một trình duyệt thật, chạy JavaScript, bấm nút, kéo thả, đọc popup, y hệt con người đang dùng. Nhưng cái giá phải trả là tài nguyên. Một trình duyệt headless (chạy ngầm không giao diện) vẫn là một chương trình nặng, và chạy nhiều instance song song thì bạn cần một VPS OpenClaw có RAM tương xứng. Bài này giải thích chính xác: OpenClaw hoạt động thế nào, vì sao ăn RAM, và cấu hình VPS nào là vừa đủ.

Yêu cầu trước khi bắt đầu

  • Hiểu cơ bản về VPS (Virtual Private Server), biết SSH vào server hoặc RDP vào VPS Windows.
  • Quyền root (Linux) hoặc Administrator (Windows Server) trên VPS.
  • Một VPS có RAM >= 2 GB nếu chỉ chạy thử nghiệm; từ 4 GB trở lên nếu chạy thường xuyên.
  • Kiến thức cơ bản về Docker (nếu chạy OpenClaw bằng container) hoặc Node.js (nếu chạy source).

OpenClaw là gì, định nghĩa chính xác

OpenClaw là một nền tảng automation trình duyệt mã nguồn mở, cho phép bạn viết script tự động hoá bất kỳ tác vụ nào trên web: đăng nhập, lấy dữ liệu, điền form, chụp màn hình, chờ load trang, kiểm tra phản hồi API. Bên dưới, nó dùng các thư viện như Puppeteer (dành cho Chrome/Chromium) hoặc Playwright (đa trình duyệt: Chrome, Firefox, Safari). Các script này chạy trên một thể hiện trình duyệt "headless", nghĩa là không có cửa sổ đồ hoạ, nhưng vẫn render trang, chạy JavaScript, và gửi request đầy đủ.

So với việc dùng curl lấy HTML thô: OpenClaw có thể tương tác với Single Page Application (SPA), chờ AJAX load xong, hoặc xử lý CAPTCHA (bằng cách gửi đến dịch vụ giải mã). Nếu bạn từng dùng Selenium WebDriver thì đây cũng là ý tưởng tương tự, nhưng nhẹ hơn và được tối ưu cho các tác vụ có thể lập lịch.

Automation trình duyệt là gì, và vì sao nó "ăn" RAM?

Một trình duyệt, dù là headless, vẫn cần tải bộ xử lý JavaScript (V8 engine), render engine, bộ nhớ đệm, và một process chính (browser process) + nhiều process con (tab process, GPU process nếu có). Trên thực tế:

  • Một instance Chromium headless mới khởi tạo: tiêu tốn khoảng 100-150 MB RAM.
  • Sau khi tải một trang web trung bình (như dashboard có nhiều widget, chart, API calls): tiêu tốn 300-500 MB hoặc hơn.
  • Nếu trang web có ảnh, video, hoặc script lỗi (leak memory): có thể lên đến 800 MB - 1 GB cho một instance.
  • Edit: phần lớn vụ leo RAM là do trang web chứ không phải OpenClaw. Mỗi tab bạn mở trong trình duyệt cũng tốn RAM tương tự.

Do đó, nếu OpenClaw cần chạy 5 luồng (thread) song song, bạn đang có 5 trình duyệt headless chạy cùng lúc. Với RAM trung bình 400 MB mỗi instance, chỉ riêng trình duyệt đã ngốn ~2 GB. Cộng thêm hệ điều hành, OpenClaw server, database (nếu có), và các công cụ khác, bạn cần ít nhất gấp đôi.

Cấu hình tối thiểu và cấu hình nên dùng

Dựa trên kinh nghiệm thực tế, đây là các mức cấu hình bạn cần cân nhắc khi chọn thuê VPS Linux hoặc VPS Windows để chạy OpenClaw:

  • Cấu hình tối thiểu (chạy thử + 1-2 instance): 2 vCPU, 4 GB RAM, 20 GB NVMe. Đủ để kiểm tra flow đơn giản, chạy 1-2 script một lúc. Bạn sẽ thấy swap được dùng thường xuyên nếu script nặng.
  • Cấu hình khuyên dùng (chạy 3-5 instance, lập lịch hàng giờ): 4 vCPU, 8 GB RAM, 50 GB NVMe. Mức này cho phép bạn chạy nhiều workflow cùng lúc, không sợ OOM (Out Of Memory). RAM 8 GB là điểm ngọt (sweet spot) cho đa số người dùng OpenClaw.
  • Cấu hình nặng (chạy >10 instance, automation liên tục): 8 vCPU, 16 GB RAM, 100 GB NVMe. Dành cho người chạy nhiều site, nhiều kịch bản, hoặc cần lưu lại snapshot màn hình nhiều.

Lưu ý: OpenClaw chạy tốt trên cả Linux lẫn Windows. Nếu bạn chọn Windows Server, hãy chắc chắn rằng VPS có ít nhất 4 GB RAM vì bản thân Windows đã chiếm 1.5-2 GB. Bảng giá VPS của thueVPS hiện có các gói từ 4 GB RAM trở lên, đáp ứng tốt nhu cầu này.

Bước 1 - Chạy OpenClaw trên VPS (Docker - cách nhanh nhất)

Giả sử bạn đã có VPS Ubuntu 24.04 LTS, cài Docker theo hướng dẫn chính thức. Sau đó chạy OpenClaw bằng một lệnh riêng biệt.

# Kéo image OpenClaw (nếu có image chính thức, hoặc clone repo)
git clone https://github.com/your-openclaw-repo
cd your-openclaw-repo

# Chạy với Docker Compose
docker compose up -d

# Kiểm tra logs
docker compose logs -f app

Nếu bạn dùng Playwright, cần cài thêm browser dependencies bên trong container, hoặc dùng image đã build sẵn browser. Kiểm tra bằng docker ps để đảm bảo container đang chạy.

# Xác nhận container đang chạy
docker ps | grep openclaw

Output mong đợi: một dòng hiển thị container với tên "openclaw" hoặc tương tự, status "Up" và các port đã map.

Bước 2 - Cấu hình bộ nhớ và giới hạn tài nguyên

Để tránh OpenClaw ngốn hết RAM của VPS, bạn nên giới hạn tài nguyên cho container Docker. Thêm vào file docker-compose.yml:

services:
  openclaw:
    image: your-openclaw-image
    deploy:
      resources:
        limits:
          memory: 2G
          cpus: "2.0"
        reservations:
          memory: 1G
    environment:
      - MAX_CONCURRENT_BROWSERS=3
      - BROWSER_MEMORY_LIMIT=512

Biến môi trường MAX_CONCURRENT_BROWSERS giới hạn số instance trình duyệt chạy đồng thời. BROWSER_MEMORY_LIMIT giới hạn RAM tối đa mỗi trình duyệt (tính bằng MB). Đây là cách quản lý tài nguyên hàng đầu khi chạy trên VPS có cấu hình giới hạn. Nếu bạn không đặt giới hạn, OpenClaw có thể tạo bao nhiêu browser cũng được, dẫn đến OOM killer tắt process.

Bước 3 - Kiểm tra tài nguyên thực tế

Sau khi OpenClaw chạy, hãy dùng các lệnh sau để giám sát:

# Xem RAM tổng đã dùng
free -h

# Xem process nào đang tốn RAM nhất
ps aux --sort=-%mem | head -10

# Kiểm tra CPU load
htop

Bạn sẽ thấy mỗi process Chromium (con của OpenClaw) chiếm vài trăm MB. Nếu thấy swap bị dùng nhiều (swap usage > 500 MB), tức là RAM không đủ. Giải pháp: giảm MAX_CONCURRENT_BROWSERS hoặc nâng cấp VPS lên gói RAM cao hơn.

Xử lý lỗi thường gặp

Lỗi 1: "Out of memory" / OOM Killer tắt container
Nguyên nhân: RAM không đủ cho số instance bạn cấu hình.
Cách xử lý: Xem log bằng dmesg | grep -i oom hoặc journalctl -k | grep -i oom. Giảm MAX_CONCURRENT_BROWSERS xuống 2 hoặc nâng cấp VPS lên 8 GB RAM.

Lỗi 2: Trình duyệt crash khi tải trang nặng
Nguyên nhân: Thiếu shared memory (thường gặp trong container).
Cách xử lý: Thêm --shm-size=2g vào lệnh docker run hoặc trong docker-compose.yml thêm shm_size: "2g".

Lỗi 3: WebSocket disconnect liên tục
Nguyên nhân: CPU không đủ, request timeout.
Cách xử lý: Kiểm tra CPU load, nếu > 80% thường xuyên thì cần thêm vCPU. Giảm độ phức tạp script hoặc tăng timeout.

OpenClaw và câu hỏi về băng thông VPS

OpenClaw tải trang web và có thể gửi/nhận dữ liệu liên tục. Mỗi instance có thể tiêu tốn vài Mbps khi đang hoạt động (tải ảnh, JS, gửi request API). Với VPS Việt Nam của thueVPS, băng thông trong nước là 100 Mbps trên port 1 Gbps, thoải mái cho việc chạy automation nội địa. Nếu OpenClaw cần truy cập site quốc tế, băng thông dùng chung pool khoảng 4-10 Mbps, đủ cho đa số tác vụ browser (không yêu cầu tốc độ cao, vì automation thường chờ load trang). Bạn không cần lo lắng về băng thông nếu mỗi script chạy không liên tục trong giờ hành chính.

Câu hỏi thường gặp

Tại sao OpenClaw lại ngốn RAM nhiều hơn một server Node.js thông thường?

Vì OpenClaw chạy cả một trình duyệt hoàn chỉnh (Chromium/Firefox) để render trang web. Trình duyệt có V8 engine, render engine, bộ nhớ đệm, và các process con. Một server Node.js đơn giản chỉ chạy logic ứng dụng, không tải trang web, nên tốn ít RAM hơn nhiều.

Có thể chạy OpenClaw trên VPS 2 GB RAM không?

Có thể, nhưng chỉ chạy được 1 instance trình duyệt và không nên chạy thêm dịch vụ nào khác. Sau khi trừ OS (~300-500 MB cho Linux), bạn chỉ còn ~1.5 GB cho OpenClaw, vừa đủ cho 1-2 instance nhẹ. Nếu script tải trang nặng, bạn sẽ gặp swap hoặc OOM.

Nên chọn VPS Linux hay Windows cho OpenClaw?

Linux (Ubuntu/Debian) nhẹ hơn và tiết kiệm RAM (~300-500 MB cho OS). Windows Server ngốn ~1.5-2 GB ngay khi khởi động. Nếu bạn cần giao diện GUI để debug, có thể dùng Windows với RDP; nếu automation thuần (chạy daemon), Linux là lựa chọn tốt hơn.

OpenClaw có thể chạy nhiều trình duyệt cùng lúc không?

Có. Bạn cấu hình MAX_CONCURRENT_BROWSERS trong script. Mỗi trình duyệt là một process riêng. RAM cần = RAM OS + (RAM mỗi instance * số instance). Với VPS OpenClaw gói 8 GB bạn có thể chạy 5-8 instance ổn định.

Làm sao để giảm RAM cho OpenClaw?

Bạn có thể: hạn chế mở nhiều tab (chỉ mở 1 tab mỗi instance), dùng chế độ headless có tắt GPU (flag --disable-gpu), giới hạn RAM mỗi container, và dùng browser mode "chromium" nhẹ hơn Firefox.

OpenClaw có hợp pháp không?

Bản thân OpenClaw là công cụ mã nguồn mở hợp pháp. Cách bạn dùng nó mới là vấn đề. Dùng để tự động hoá quy trình trên hệ thống của bạn (test QA, giám sát website, quản lý dữ liệu nội bộ) là hoàn toàn hợp lệ. Không nên dùng để cào dữ liệu trái phép, vượt tường lửa, hoặc tạo nhiều tài khoản để né ban.

Bài viết liên quan

Lưu ý: Bài viết mang tính tham khảo, tổng hợp kiến thức chung. Mỗi hệ thống, hạ tầng và nhu cầu có đặc thù riêng, nên kiểm thử trong môi trường an toàn và tham vấn kỹ sư trước khi triển khai thực tế.