Chạy nhiều phiên Claude Code song song trên một VPS

Chia sẻ bài viết

Mục lục
Chạy nhiều phiên Claude Code song song trên một VPS

Trả lời nhanh: Mỗi phiên agent nên tính khoảng 2GB RAM và một nhân để chạy thoải mái, cộng thêm phần cho hệ điều hành. Ba phiên song song nghĩa là khoảng 8GB RAM và 4 nhân. Điểm cần chú ý không phải CPU mà là ổ đĩa: các phiên cùng chạy build và test sẽ tranh nhau đọc ghi, đây là lúc ổ NVMe tạo khác biệt lớn nhất. Nên tách mỗi phiên vào một thư mục riêng và dùng tmux để phiên không chết khi mất kết nối.

Giao ba việc cho ba phiên rồi đi ăn trưa, về là xong cả ba. Ý tưởng rất hay cho tới khi cả ba cùng chạy build và máy đơ.

Tóm tắt nhanh
  • Mỗi phiên tính khoảng 2GB RAM và một nhân, cộng phần cho hệ điều hành.
  • Nút thắt thật khi chạy song song là ổ đĩa chứ không phải CPU.
  • Tách thư mục làm việc riêng cho từng phiên để không ghi đè nhau.
  • Dùng tmux để phiên sống tiếp khi bạn ngắt kết nối.

Tính tài nguyên cho nhiều phiên

Số phiênRAM nên cóNhânỔ
1 phiên4GB2NVMe 40GB
2 phiên6 tới 8GB4NVMe 80GB
3 phiên8 tới 12GB4 tới 6NVMe 80GB trở lên
Cả nhóm16GB trở lên8NVMe 160GB trở lên

Con số RAM là phần đáng lưu ý nhất. Thiếu RAM khi ba phiên cùng build là kịch bản dẫn tới việc hệ thống tự tắt tiến trình, và bạn mất luôn công việc đang dở của phiên đó.

Vì sao ổ đĩa mới là nút thắt

Ba phiên chạy song song không có nghĩa CPU chia ba. Phần lớn thời gian mỗi phiên đang chờ ổ đĩa: cài thư viện, đọc file, ghi kết quả build. Khi cả ba cùng chờ ổ, hàng đợi lệnh của ổ dài ra và mọi phiên đều chậm đi.

Đây là lý do ổ NVMe với hàng đợi lệnh sâu tạo khác biệt lớn nhất đúng ở kịch bản này. Ổ SATA chỉ có một hàng đợi độ sâu 32, ba phiên cùng đập vào là tắc.

Bố trí để các phiên không giẫm chân nhau

  1. Thư mục riêng cho mỗi phiên. Đừng để hai phiên cùng sửa một cây mã nguồn, kết quả sẽ là xung đột khó gỡ.
  2. Dùng tmux hoặc screen. Mỗi phiên một cửa sổ, ngắt kết nối vẫn chạy tiếp.
  3. Đặt giới hạn tài nguyên nếu cần. Chạy trong container với hạn mức RAM giúp một phiên lỗi không kéo sập cả máy.
  4. Đặt cổng khác nhau cho máy chủ phát triển của từng phiên.
  5. Theo dõi bằng một cửa sổ riêng chạy top hoặc iostat để biết khi nào máy sắp quá tải.

Bảng cấu hình theo số phiên chạy cùng lúc

Số phiên song songBộ nhớ nên cóỔ đĩaĐiểm nghẽn xuất hiện trước
1 tới 24 GBNVMe, 40 GBChưa có, chạy thoải mái
3 tới 48 GBNVMe, 80 GBBộ nhớ, khi mở nhiều tệp lớn
5 tới 816 GBNVMe, 160 GBỔ đĩa, do nhiều phiên cùng quét tệp
Trên 832 GB trở lênNVMe, 320 GBỔ đĩa và băng thông mạng

Con số quan trọng nhất trong bảng là ổ đĩa, không phải số nhân. Mỗi phiên đọc hàng nghìn tệp nhỏ, và đó đúng là loại thao tác ổ quay hoặc ổ SSD chia sẻ làm chậm nhất.

Đo xem đang nghẽn ở đâu

# Chay trong luc nhieu phien dang lam viec
free -h          # cot available con it, va swap khac 0 la thieu RAM
iostat -x 2      # %util gan 100 la nghen o dia
uptime           # tai trung binh cao hon so nhan keo dai la qua suc

# Xem tung phien an bao nhieu bo nho
ps -eo pid,rss,comm --sort=-rss | head -15

Tách thư mục làm việc cho từng phiên

  • Mỗi phiên một thư mục làm việc riêng. Hai phiên cùng sửa một thư mục là cách nhanh nhất để mất công việc của nhau.
  • Mỗi phiên một cổng riêng nếu chạy máy chủ thử nghiệm, và ghi lại cổng nào thuộc phiên nào. Cổng trùng gây lỗi khó hiểu.
  • Dùng bộ ghép màn hình để phiên không chết khi mất kết nối. Đây là khác biệt giữa mất nửa buổi làm việc và không mất gì.
  • Đặt giới hạn bộ nhớ cho từng phiên nếu chạy trong container, để một phiên đi hoang không kéo cả máy xuống.
  • Loại thư mục thư viện và lịch sử phiên bản khỏi phạm vi quét. Việc này giảm tải ổ đĩa nhiều hơn mọi tinh chỉnh khác.

Chi tiết về loại trừ thư mục và đo hiệu năng nằm ở bài VPS cho vibe coder và trang VPS NVMe.

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

Chạy bao nhiêu phiên song song là hợp lý?

Tuỳ RAM và ổ. Với 8GB RAM và ổ NVMe, hai tới ba phiên chạy thoải mái. Quá số đó thì thời gian chờ của từng phiên tăng lên và lợi ích song song mất đi.

Các phiên có ảnh hưởng nhau không?

Có, chủ yếu qua ổ đĩa và RAM. Tách thư mục riêng và đặt hạn mức tài nguyên giúp giảm ảnh hưởng.

Vì sao nên dùng tmux?

Vì phiên vẫn chạy khi bạn đóng máy hoặc mất mạng. Không có tmux, ngắt kết nối là mất luôn tác vụ đang dở.

Nên dùng nhiều VPS nhỏ hay một VPS lớn?

Một VPS lớn thường hiệu quả hơn vì tài nguyên dùng chung linh hoạt. Nhiều VPS nhỏ chỉ hợp khi cần cách ly hoàn toàn giữa các dự án.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Truy vấn SQL, PHP dựng trang, build Next.js hay đóng gói app iOS và Android: phần lớn các bước này chạy đơn luồng và đập liên tục vào ổ đĩa. Nghẽn nằm ở tốc độ đọc ghi và xung nhịp CPU, không phải ở việc có thật nhiều nhân. Ổ Enterprise U.2 NVMe chuẩn máy chủ chạy RAID 10 cho IOPS đọc ghi ngẫu nhiên gấp 5 đến 7 lần ổ SATA SSD, khác hẳn NVMe M.2 phổ thông. Chạy trên chip Intel Xeon Platinum dòng xung cao, backup tự động hàng tuần, bàn giao trong 5 phút.
Xem VPS ổ Enterprise U.2 NVMe, bàn giao trong 5 phút

Bài viết liên quan