Виділений vCPU на серверних CPU 2022+ · NVMe · без KYC. Оплата в криптовалюті: BTC, USDT, USDC, ETH, SOL, LTC, XMR
Мова: Українська
Оберіть свої ядра

Гайд · GitLab Runner · CI/CD

Скільки виділених vCPU потрібно для VPS під GitLab Runner?

Який VPS потрібен для GitLab Runner чи CI/CD-пайплайну? Скільки задач одночасно виконує VPS із виділеними vCPU, як порівнюються розміри хостингових runner'ів GitLab і як не дати паралельним збіркам битися за потоки.

Останнє оновлення: · 7 хв читання

Коротка відповідь

Який VPS потрібен для GitLab Runner чи CI/CD-пайплайну?

GitLab Runner VPS потребує близько 2 виділених vCPU на кожне CI-завдання, що виконується одночасно: на Cobaltfell Fell 2 бере одне завдання, Fell 4 — два, а Fell 8 — чотири. Стандартний хостинговий Linux-раннер GitLab має 2 vCPU і 8 GB RAM (перевірено 2 листопада 2026), тож план Cobaltfell з такою ж кількістю vCPU має вдвічі менше пам'яті, і збіркам, що потребують багато пам'яті, потрібен наступний розмір.

Скільки CI-завдань може один VPS виконувати одночасно?

Одне CI-завдання потребує двох виділених vCPU і пам'яті, що йде з ними; налаштування раннера concurrent визначає, скільки таких завдань ділять VPS. У config.toml параметр concurrent обмежує завдання для всіх зареєстрованих раннерів, а limit обмежує їх для одного зареєстрованого раннера (0, значення за замовчуванням, означає без обмежень). Сторінка вимог GitLab називає три вхідні параметри для вибору розміру: навантаження на CPU від завдань, їхнє використання пам'яті та скільки з них виконується одночасно.

Відправні точки взяті з типових значень інструментів, а не з вимірювань. Наші власні результати YABS і Geekbench 6 разом із виміряним нами steal time будуть опубліковані із зазначенням дати, щойно буде доставлено нашу першу тестову машину. До того часу ми не наводимо жодного власного показника продуктивності.
ПланvCPURAMодночасноВміщує
Fell 224 GB1Один pipeline за раз: особистий проєкт або команда, що пушить кілька разів на годину
Fell 448 GB2Два короткі завдання одночасно або одна довга збірка на чотирьох потоках
Fell 8816 GB4Чотири завдання по два vCPU або два по чотири
Fell 161632 GB4 до 8Команда, чиї merge requests запускають кілька pipeline одночасно

Як розміри хостингових раннерів GitLab порівнюються з VPS?

Хостингові Linux-раннери GitLab дають 4 GB RAM на vCPU; плани Cobaltfell дають 2 GB на vCPU. Кількість vCPU збігається один до одного, що робить таблицю прямим способом вибрати розмір для pipeline, які вже працюють на GitLab.com. Завдання, що використовують більшу частину пам'яті своєї поточної машини, потребують плану Cobaltfell на розмір більшого або меншої кількості завдань одночасно.

Згідно з оглядом Cobaltfell від 2 листопада 2026, одне виділене vCPU на процесорі 2022 року або новішому коштувало медіанно $8.20 на місяць у хостів, які приймають криптовалюту без перевірки ID, тож кожне паралельне CI-завдання на два vCPU коштує приблизно вдвічі більше.

Кожен хост і кожна ціна за цією медіаною є в скільки коштує VPS з виділеним CPU за ядро в листопаді 2026.

Типи машин GitLab, як зазначено в документації GitLab щодо хостингових раннерів на 2 листопада 2026. Хостинговий раннер обслуговує одне завдання на машину; самостійно розміщений раннер на VPS ділить свої vCPU між кількома завданнями.
Тип машини GitLab-hostedvCPURAMДискПлан VPS з тією ж кількістю vCPUЙого RAM і NVMe
saas-linux-small-amd64 (за замовчуванням)28 GB30 GBFell 24 GB, 80 GB NVMe
saas-linux-medium-amd64416 GB50 GBFell 48 GB, 160 GB NVMe
saas-linux-large-amd64 (Premium і Ultimate)832 GB100 GBFell 816 GB, 320 GB NVMe
saas-linux-xlarge-amd64 (Premium і Ultimate)1664 GB200 GBFell 1632 GB, 640 GB NVMe

Ціни перевірено

Чому виділені ядра важливі для CI та компіляції?

Збірка тримає CPU на повному навантаженні хвилинами поспіль — саме той патерн, який плани спільного VPS покликані обмежувати. Два хости з того ж огляду прописали це у своїх правилах: умови Spartan Host забороняють використовувати понад 50% виділених ядер довше ніж годину, а політика добросовісного використання Advin Servers обмежує використання CPU на 75%.

На спільному vCPU ціна також проявляється як steal time. Pipeline, що швидкий тихої ночі, розтягується в години пік, і таймаути завдань спрацьовують з причин, не пов'язаних із кодом; що таке steal time CPU і як його перевірити на VPS показує, як його читати.

У Cobaltfell: Повне навантаження дозволене стільки, скільки потрібно вашій роботі: без CPU-кредитів, без вікна бурсту і без тротлінгу після кількох хвилин на 100%. vCPU — це один апаратний потік процесора хоста. Ваші потоки закріплені один до одного за вашим VPS і ніколи не позичаються іншому клієнту, а два потоки одного фізичного ядра завжди лишаються разом, тож кожні 2 vCPU утворюють одне ціле ядро, якого не ділить із вами сусід. Без сусіда на потоках pipeline з теплим кешем займає приблизно однаковий час при кожному запуску, тож повільне завдання вказує на код. Як працює правило vCPU-до-ядра, пояснено в чи є виділений vCPU ядром чи потоком.

Як змусити паралельні збірки не битися за той самий vCPU?

Дай кожному завданню фіксовану частку VPS і передай те саме число інструменту збірки. Інструменти збірки розходяться в типових значеннях. GNU make виконує один рецепт за раз, якщо не задати -j. Cargo запускає стільки завдань, скільки є логічних CPU. Ninja виконується паралельно за кількістю CPU без запиту. Чотири такі збірки на Fell 8 запустили б кожна вісім компіляторів: 32 процеси на 8 потоків і 16 GB RAM.

З Docker-екзекутором кожне завдання виконується у власному контейнері, і [runners.docker] приймає ліміти cpus і memory для цього контейнера. Встанови обидва, а потім узгодь паралелізм усередині завдання:

config.toml для чотирьох завдань по два vCPU кожне на Fell 8
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
Узгодження паралелізму всередині .gitlab-ci.yml
variables:
  MAKEFLAGS: "-j2"          # GNU make
  CARGO_BUILD_JOBS: "2"     # cargo (build.jobs)

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

Що потрібно для компіляції Rust чи C++ на VPS?

Компіляція потребує потоків і пам'яті в парі: кожен паралельний процес компілятора і кожен крок лінкування бере свою частку RAM. Великі одиниці трансляції C++ і крейти Rust із важкими generics — звичайні піки пам'яті, а фінальне лінкування великого бінарника може потребувати більше, ніж будь-яка окрема компіляція.

Збірка, убита через брак пам'яті, потребує нижчого -j або CARGO_BUILD_JOBS, а не більше vCPU: менше завдань завершується, більше падає. Тримай кеші збірки на власному диску VPS (NVMe-сховище на кожному плані) і чисти старі образи через docker image prune, бо зайнятий раннер заповнює диск швидше, ніж підказують його pipeline.

Монорепозиторій, що потребує десятків гігабайтів RAM на збірку, — це територія bare-metal, яку Cobaltfell не продає. Тестові набори з базами даних мають власні правила підбору розміру, розглянуті в скільки CPU і RAM потрібно PostgreSQL на VPS.

Який екзекутор має використовувати раннер на VPS?

Docker-екзекутор — правильне типове значення: посібник GitLab щодо екзекуторів каже, що він дає кожній збірці чисте ізольоване середовище, тоді як Shell-екзекутор не дає ні чистого середовища на кожну збірку, ні захисту файлової системи раннера. Екзекутори Shell, SSH і VirtualBox перебувають у режимі супроводу.

Хто може запустити завдання, важить не менше: merge request із форку виконує власний код на VPS. Посібник GitHub з безпеки каже, що самостійно розміщені раннери майже ніколи не слід використовувати для публічних репозиторіїв, і ті ж міркування стосуються будь-якої CI-системи, що виконує недовірені pull request.

Агенти Forgejo, Woodpecker, Jenkins і GitHub Actions підбираються так само: порахуй завдання, що перекриваються, дай кожному фіксовані потоки й пам'ять. Ціни планів для кожного розміру наведено в скільки коштує VPS з виділеними ядрами.

Які ще питання люди ставлять про CI-раннери на VPS?

Чи може VPS Cobaltfell запускати самостійно розміщені раннери GitHub Actions?

Так. Працює будь-який Linux-агент раннера: Лише образи Linux: Debian, Ubuntu, AlmaLinux і Rocky Linux. Windows не пропонується. Підбери розмір як для GitLab Runner, приблизно два vCPU на кожне завдання, що перекривається, і тримай його подалі від публічних репозиторіїв, де сторонні можуть відкривати pull request.

Чи обмежується збірка на 100% CPU протягом години?

У Cobaltfell — ні. Повне навантаження дозволене стільки, скільки потрібно вашій роботі: без CPU-кредитів, без вікна бурсту і без тротлінгу після кількох хвилин на 100%. Єдине заборонене використання з високим навантаженням на CPU: Майнінг будь-якої криптовалюти заборонено на будь-якому плані й будь-яким програмним забезпеченням. Ваша власна важка робота CPU, як-от збірки, кодування, інференс або бази даних, може виконуватися на повному навантаженні, а вузол, що лише валідує блокчейн, не є майнінгом.

Чи потрібен GitLab Runner Docker?

Ні, Shell-екзекутор виконує завдання безпосередньо на VPS. GitLab зазначає, що він не дає чистого середовища на кожну збірку і перебуває в режимі супроводу, тож Docker краще за замовчуванням для всього, що ти не став би запускати вручну від імені root.

Чи має сам GitLab працювати на тому ж VPS, що й раннер?

Ні. GitLab і його runner тоді змагаються за ті самі потоки й пам'ять, а важкий pipeline сповільнює веб-інтерфейс, через який за ним стежать. Runner має бути на окремому VPS.

Наскільки швидкий pipeline на кожному плані?

Таймінги ще не опубліковані. Наші власні результати YABS і Geekbench 6 разом із виміряним нами steal time будуть опубліковані із зазначенням дати, щойно буде доставлено нашу першу тестову машину. До того часу ми не наводимо жодного власного показника продуктивності. Запустіть той самий pipeline двічі на обраному плані й залиште другий, кеш-теплий час як базовий.

Джерела (10)
  1. Розширена конфігурація GitLab Runner (concurrent, limit, [runners.docker]) — GitLab (checked 2026-11-02)
  2. Системні вимоги GitLab Runner — GitLab (checked 2026-11-02)
  3. GitLab-hosted runners на Linux: типи машин — GitLab (checked 2026-11-02)
  4. GitLab Runner executors — GitLab (checked 2026-11-02)
  5. Посібник GNU make: паралельне виконання — GNU Project (checked 2026-11-02)
  6. cargo build: опція --jobs — The Rust Project (checked 2026-11-02)
  7. Посібник системи збирання Ninja — Ninja (checked 2026-11-02)
  8. Довідка з безпечного використання: self-hosted runners — GitHub (checked 2026-11-02)
  9. Умови надання послуг Spartan Host spartanhost.org/tos — Spartan Host (checked 2026-11-02)
  10. Політика добросовісного використання Advin Servers docs.advinservers.com/policies/fair-use — Advin Servers (checked 2026-11-02)

Від $10.49/місяць · без KYC

Оберіть свої ядра