# VPS cho GitLab Runner cần bao nhiêu vCPU dedicated?

> VPS nào cho GitLab Runner? Khoảng 2 vCPU dedicated mỗi CI job song song, từ 2 đến 16 vCPU. Cách chọn cấu hình, config.toml và crypto tại Cobaltfell.

- URL: https://cobaltfell.com/vi/vps-for-ci-builds/
- Cập nhật lần cuối: 2026-11-02
- Đơn vị phát hành: Cobaltfell (https://cobaltfell.com)

Tôi cần VPS nào cho GitLab Runner hoặc một pipeline CI/CD? Một VPS vCPU dedicated chạy được bao nhiêu job cùng lúc, cấu hình runner hosted của GitLab so sánh ra sao, và cách để các build song song không tranh nhau thread.

**Trả lời nhanh — Tôi cần VPS nào cho GitLab Runner hoặc một pipeline CI/CD?**

Một VPS chạy GitLab Runner cần khoảng 2 vCPU chuyên dụng cho mỗi CI job chạy cùng lúc: trên **Cobaltfell**, Fell 2 đảm nhận một job, Fell 4 hai job và Fell 8 bốn job. Linux runner mặc định do GitLab lưu trữ có 2 vCPU và 8 GB RAM (kiểm tra ngày 2 tháng 11 năm 2026), vì vậy một gói Cobaltfell có cùng số vCPU chỉ có một nửa dung lượng bộ nhớ đó, và những bản build ngốn nhiều bộ nhớ cần lên cỡ tiếp theo.

## Một VPS có thể chạy bao nhiêu CI job cùng lúc?

**Một CI job cần hai vCPU chuyên dụng và lượng RAM đi kèm; cài đặt `concurrent` của runner quyết định bao nhiêu job như vậy chia sẻ cùng một VPS.** Trong `config.toml`, `concurrent` giới hạn số job trên tất cả các runner đã đăng ký, còn `limit` giới hạn số job cho một runner đã đăng ký (`0`, giá trị mặc định, nghĩa là không giới hạn). Trang yêu cầu của GitLab nêu ba yếu tố để chọn cỡ: mức tải CPU của các job, lượng bộ nhớ chúng dùng và bao nhiêu job chạy đồng thời.

*Các điểm khởi đầu lấy từ giá trị mặc định của công cụ, không phải từ đo thời gian thực tế. Kết quả YABS và Geekbench 6 của chính chúng tôi, cùng với steal time đo được, sẽ được công bố kèm ngày khi máy test đầu tiên được giao. Cho đến lúc đó, chúng tôi không đưa ra con số hiệu năng nào của riêng mình.*

| Gói | vCPU | RAM | đồng thời | Vừa |
| --- | --- | --- | --- | --- |
| Fell 2 | 2 | 4 GB | 1 | Mỗi lần một pipeline: một dự án cá nhân hoặc một nhóm push vài lần mỗi giờ |
| Fell 4 | 4 | 8 GB | 2 | Hai job ngắn cùng lúc, hoặc một bản build dài trên bốn luồng |
| Fell 8 | 8 | 16 GB | 4 | Bốn job hai vCPU, hoặc hai job bốn vCPU |
| Fell 16 | 16 | 32 GB | 4 đến 8 | Một nhóm mà các merge request khởi chạy nhiều pipeline cùng lúc |

## Các cỡ runner do GitLab lưu trữ so với VPS thế nào?

**Các Linux runner do GitLab lưu trữ cấp 4 GB RAM cho mỗi vCPU; các gói Cobaltfell cấp 2 GB cho mỗi vCPU.** Số vCPU khớp nhau một-một, khiến bảng này thành cách trực tiếp để chọn cỡ cho những pipeline vốn đã chạy trên GitLab.com. Những job dùng gần hết bộ nhớ của máy hiện tại cần gói Cobaltfell lớn hơn một cỡ, hoặc ít job chạy cùng lúc hơn.

**Theo khảo sát của Cobaltfell ngày 2 tháng 11 năm 2026, một vCPU chuyên dụng trên bộ xử lý từ năm 2022 trở đi có giá trung vị là $8.20 một tháng tại các nhà cung cấp nhận crypto mà không cần kiểm tra giấy tờ, nên mỗi CI job song song hai vCPU tốn khoảng gấp đôi con số đó.**

Mọi nhà cung cấp và mức giá đứng sau mức trung vị đó đều có trong [một vCPU VPS chuyên dụng tốn bao nhiêu mỗi nhân vào tháng 11 năm 2026](https://cobaltfell.com/vi/dedicated-cpu-vps-price-index/ "Dedicated CPU VPS price per core, survey of 2 November 2026").

*Các loại máy GitLab theo danh sách trong tài liệu về runner do GitLab lưu trữ ngày 2 tháng 11 năm 2026. Một runner do GitLab lưu trữ phục vụ một job cho mỗi máy; một runner tự lưu trữ trên VPS chia sẻ vCPU của nó giữa nhiều job.*

| Loại máy do GitLab lưu trữ | vCPU | RAM | Ổ đĩa | Gói VPS có cùng số vCPU | RAM và NVMe của gói đó |
| --- | --- | --- | --- | --- | --- |
| saas-linux-small-amd64 (mặc định) | 2 | 8 GB | 30 GB | Fell 2 | 4 GB, 80 GB NVMe |
| saas-linux-medium-amd64 | 4 | 16 GB | 50 GB | Fell 4 | 8 GB, 160 GB NVMe |
| saas-linux-large-amd64 (Premium và Ultimate) | 8 | 32 GB | 100 GB | Fell 8 | 16 GB, 320 GB NVMe |
| saas-linux-xlarge-amd64 (Premium và Ultimate) | 16 | 64 GB | 200 GB | Fell 16 | 32 GB, 640 GB NVMe |

*Giá được kiểm tra vào 2 tháng 11, 2026.*

## Vì sao nhân chuyên dụng lại quan trọng với CI và các job biên dịch?

**Một bản build giữ CPU ở mức tải tối đa trong nhiều phút liền, đúng kiểu sử dụng mà các gói VPS chia sẻ được viết ra để hạn chế.** Hai nhà cung cấp trong cùng khảo sát đó ghi điều này vào quy định của họ: điều khoản của Spartan Host cấm dùng hơn 50% số nhân được cấp trong hơn một giờ, và chính sách sử dụng hợp lý của Advin Servers giới hạn mức dùng CPU ở 75%.

Trên vCPU chia sẻ, chi phí còn hiện ra dưới dạng steal time. Một pipeline chạy nhanh vào đêm vắng lại kéo dài vào giờ cao điểm, và job bị timeout vì những lý do không liên quan đến code; [steal time của CPU là gì và cách kiểm tra trên VPS](https://cobaltfell.com/vi/cpu-steal-time/ "CPU steal time là gì và làm sao kiểm tra trên VPS của tôi?") chỉ cách đọc nó.

Tại Cobaltfell: Được phép chạy full load miễn là công việc của bạn cần: không có credit CPU, không có cửa sổ burst và không bị bóp hiệu năng sau vài phút ở mức 100%. Một vCPU là một luồng phần cứng của bộ xử lý máy chủ. Các luồng của bạn được ghim 1-1 vào VPS của bạn và không bao giờ được cho khách hàng khác mượn, và hai luồng của một lõi vật lý luôn đi cùng nhau, nên cứ mỗi 2 vCPU tạo thành một lõi nguyên vẹn mà không hàng xóm nào dùng chung. Không có hàng xóm trên các luồng, một pipeline có cache ấm mất khoảng thời gian như nhau ở mọi lần chạy, nên một job chậm là dấu hiệu chỉ về phía code. Quy tắc quy đổi vCPU sang nhân được giải thích trong [một vCPU chuyên dụng là một nhân hay một luồng](https://cobaltfell.com/vi/vcpu-vs-core/ "vCPU dedicated là core hay thread trên VPS?").

## Làm sao để các bản build song song không tranh nhau cùng một vCPU?

**Chia cho mỗi job một phần cố định của VPS và truyền cùng con số đó cho công cụ build.** Các công cụ build không thống nhất về giá trị mặc định. GNU make chạy một recipe mỗi lần trừ khi được truyền `-j`. Cargo chạy đúng bằng số CPU logic. Ninja chạy song song dựa trên số CPU mà không cần ai bảo. Bốn bản build như vậy trên Fell 8 sẽ mỗi bản khởi chạy tám trình biên dịch: 32 tiến trình cho 8 luồng và 16 GB RAM.

Với Docker executor, mỗi job chạy trong container riêng, và `[runners.docker]` nhận một giới hạn `cpus` và một giới hạn `memory` cho container đó. Đặt cả hai, rồi khớp mức song song bên trong job:

*config.toml cho bốn job hai vCPU mỗi job trên Fell 8*

```toml
concurrent = 4            # jobs at once, all runners together
check_interval = 3

[[runners]]
  name = "fell-8-docker"
  url = "https://gitlab.com"
  token = "REPLACE_WITH_YOUR_RUNNER_TOKEN"
  executor = "docker"
  limit = 4
  [runners.docker]
    image = "debian:13"
    cpus = "2"             # CPUs for each job container
    memory = "3g"          # leaves room for the system and Docker
```

*Khớp mức song song bên trong .gitlab-ci.yml*

```yaml
variables:
  MAKEFLAGS: "-j2"          # GNU make
  CARGO_BUILD_JOBS: "2"     # cargo (build.jobs)

build:
  script:
    - make
    - cargo build --release
    - ninja -C build -j 2
```

## Biên dịch Rust hoặc C++ cần gì trên một VPS?

**Biên dịch cần luồng và bộ nhớ đi đôi với nhau: mỗi tiến trình biên dịch song song và mỗi bước link đều lấy phần RAM riêng của nó.** Các translation unit C++ lớn và các crate Rust dùng nhiều generic là những điểm đỉnh bộ nhớ thường gặp, và bước link cuối của một binary lớn có thể cần nhiều hơn bất kỳ lần biên dịch đơn lẻ nào.

Một bản build bị kill vì thiếu bộ nhớ cần `-j` hoặc `CARGO_BUILD_JOBS` thấp hơn, không phải thêm vCPU: ít job hoàn thành hơn, nhiều job crash hơn. Giữ cache build trên ổ đĩa của chính VPS (Lưu trữ NVMe trên mọi gói) và dọn các image cũ bằng `docker image prune`, vì một runner bận rộn làm đầy ổ đĩa nhanh hơn mức các pipeline của nó gợi ý.

Một monorepo cần hàng chục gigabyte RAM cho mỗi bản build là địa hạt của bare-metal, thứ Cobaltfell không bán. Các bộ test dựa trên cơ sở dữ liệu có quy tắc chọn cỡ riêng, được đề cập trong [PostgreSQL cần bao nhiêu CPU và RAM trên một VPS](https://cobaltfell.com/vi/vps-for-postgresql/ "PostgreSQL cần bao nhiêu CPU và RAM trên một VPS vCPU chuyên dụng?").

## Runner trên VPS nên dùng executor nào?

**Docker executor là lựa chọn mặc định đúng: hướng dẫn về executor của GitLab nói nó cấp cho mỗi bản build một môi trường sạch, biệt lập, trong khi Shell executor không cấp môi trường sạch cho mỗi bản build lẫn không bảo vệ hệ thống tệp của runner.** Các executor Shell, SSH và VirtualBox đang ở chế độ bảo trì.

Ai có thể khởi chạy một job cũng quan trọng không kém: một merge request từ fork sẽ chạy chính code của nó trên VPS. Hướng dẫn bảo mật của GitHub nói rằng runner tự lưu trữ gần như không bao giờ nên dùng cho repository công khai, và lý lẽ tương tự áp dụng cho bất kỳ hệ thống CI nào chạy pull request không đáng tin cậy.

Các agent Forgejo, Woodpecker, Jenkins và GitHub Actions chọn cỡ theo cùng cách: đếm số job chồng lấn, cấp cho mỗi job số luồng và bộ nhớ cố định. Giá theo gói cho từng cỡ được liệt kê trong [một VPS nhân chuyên dụng tốn bao nhiêu](https://cobaltfell.com/vi/pricing/ "VPS dedicated-vCPU giá bao nhiêu?").

## Người ta còn hỏi những gì về CI runner trên VPS?

### Một VPS Cobaltfell có chạy được runner tự lưu trữ của GitHub Actions không?

Có. Bất kỳ runner agent Linux nào cũng chạy được: Chỉ có image Linux: Debian, Ubuntu, AlmaLinux và Rocky Linux. Không cung cấp Windows. Chọn cỡ giống như GitLab Runner, khoảng hai vCPU cho mỗi job chồng lấn, và giữ nó tránh xa các repository công khai nơi người lạ có thể mở pull request.

### Một bản build chạy CPU 100% trong một giờ có bị throttle không?

Không, tại Cobaltfell. Được phép chạy full load miễn là công việc của bạn cần: không có credit CPU, không có cửa sổ burst và không bị bóp hiệu năng sau vài phút ở mức 100%. Sử dụng ngốn CPU duy nhất bị cấm: Đào bất kỳ loại cryptocurrency nào đều không được phép, trên mọi gói và với mọi phần mềm. Công việc CPU nặng của riêng bạn, như build, encoding, inference hay database, được chạy full load, và một node chỉ xác thực blockchain không phải là đào.

### GitLab Runner có cần Docker không?

Không, Shell executor chạy job trực tiếp trên VPS. GitLab lưu ý rằng nó không cấp môi trường sạch cho mỗi bản build và nó đang ở chế độ bảo trì, nên Docker là lựa chọn mặc định tốt hơn cho bất cứ thứ gì bạn không muốn tự chạy bằng tay với quyền root.

### Có nên chạy chính GitLab trên cùng VPS với runner không?

Không. GitLab và runner của nó sau đó tranh nhau cùng số thread và bộ nhớ, và một pipeline nặng sẽ làm chậm giao diện web dùng để theo dõi nó. Runner nên nằm trên VPS riêng của nó.

### Một pipeline trên mỗi gói nhanh đến mức nào?

Chưa có số liệu thời gian nào được công bố. Kết quả YABS và Geekbench 6 của chính chúng tôi, cùng với steal time đo được, sẽ được công bố kèm ngày khi máy test đầu tiên được giao. Cho đến lúc đó, chúng tôi không đưa ra con số hiệu năng nào của riêng mình. Chạy cùng một pipeline hai lần trên gói đã chọn và lấy thời gian của lần thứ hai, khi cache đã ấm, làm mốc chuẩn.

## Nguồn

1. [Cấu hình nâng cao GitLab Runner (concurrent, limit, [runners.docker])](https://docs.gitlab.com/runner/configuration/advanced-configuration/) — GitLab (checked 2026-11-02)
2. [Yêu cầu hệ thống của GitLab Runner](https://docs.gitlab.com/runner/install/requirements/) — GitLab (checked 2026-11-02)
3. [Runner do GitLab lưu trữ trên Linux: các loại máy](https://docs.gitlab.com/ci/runners/hosted_runners/linux/) — GitLab (checked 2026-11-02)
4. [Các executor của GitLab Runner](https://docs.gitlab.com/runner/executors/) — GitLab (checked 2026-11-02)
5. [Sách hướng dẫn GNU make: thực thi song song](https://www.gnu.org/software/make/manual/html_node/Parallel.html) — GNU Project (checked 2026-11-02)
6. [cargo build: tùy chọn --jobs](https://doc.rust-lang.org/cargo/commands/cargo-build.html) — The Rust Project (checked 2026-11-02)
7. [Sách hướng dẫn hệ thống build Ninja](https://ninja-build.org/manual.html) — Ninja (checked 2026-11-02)
8. [Tham chiếu sử dụng an toàn: self-hosted runner](https://docs.github.com/en/actions/reference/security/secure-use) — GitHub (checked 2026-11-02)
9. [Điều khoản dịch vụ của Spartan Host](https://spartanhost.org/tos) — Spartan Host (checked 2026-11-02)
10. [Chính sách sử dụng hợp lý của Advin Servers](https://docs.advinservers.com/policies/fair-use) — Advin Servers (checked 2026-11-02)

---

Cobaltfell: Cobaltfell là nhà cung cấp VPS với nhân vCPU chuyên dụng, thanh toán bằng crypto không cần tải lên giấy tờ tùy thân, được vận hành bởi DomaineGoat LLC, một công ty đăng ký tại Panama. Mỗi vCPU được ghim riêng cho máy chủ của bạn, trên bộ xử lý AMD EPYC 9004/9005 (Zen 4 / Zen 5) với lưu trữ NVMe, tại Amsterdam (Hà Lan), Zurich (Thụy Sĩ) và Bucharest (Romania). Với kỳ hạn 12 tháng, mỗi gói có giá thấp hơn ít nhất 25% so với một gói dedicated-CPU tương đương được nêu tên, chọn trong 6 nhà cung cấp VPS crypto không cần KYC và được đọc vào ngày 2 tháng 11 năm 2026.
