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

Гід · steal time · галасливі сусіди

Що таке CPU steal time і як його перевірити на VPS?

Єдиний лічильник усередині VPS, який показує, коли інші орендарі забирають ваш процесор. Що це означає в Linux, чотири способи його прочитати і що числа кажуть про shared чи dedicated vCPU.

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

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

Що таке CPU steal time і як його перевірити на VPS?

CPU steal time — це частка часу, коли ваш vCPU був готовий працювати, але гіпервізор виконував іншу машину; при 10% steal завантажене завдання втрачає близько десятої частини свого часу. Станом на 2 листопада 2026 року жоден із 22 хостингів без KYC з оплатою в криптовалюті, що обіцяють dedicated CPU, не публікував замір steal, і Cobaltfell теж. Linux показує steal як st у top та %steal у mpstat.

Що саме таке steal time?

Steal time рахує моменти, коли ваш віртуальний CPU хотів працювати, а фізичний процесор був зайнятий іншим гостем. Інструменти Linux описують це трохи по-різному, у три способи:

  • top: "time stolen from this vm by the hypervisor".
  • mpstat: відсоток "involuntary wait", поки гіпервізор "was servicing another virtual processor".
  • /proc/stat: "the time spent in other operating systems when running in a virtualized environment", що рахується з Linux 2.6.11.

Документація ядра KVM додає деталь, яка робить лічильник корисним: steal — це час, коли vCPU не виконувався, а час, коли vCPU простоює, не зараховується як steal. Простоюючий VPS не може показати steal, яким би перевантаженим не був хост. Число з'являється лише тоді, коли ви просите CPU і не отримуєте його.

Значення надходить від гіпервізора, який ділиться ним із ядром гостьової системи. Гість може порахувати лише те, що повідомляє гіпервізор, — ще одна причина підтвердити низьке значення повторним бенчмарком.

Як перевірити steal time?

Чотири команди показують його; запускайте їх, поки виконується ваше реальне навантаження, а не на простоюючій машині. top і vmstat входять до пакета procps у кожному поширеному дистрибутиві. mpstat входить до sysstat (apt install sysstat у Debian та Ubuntu, dnf install sysstat в AlmaLinux та Rocky).

1. top: значення st у рядку %Cpu(s) (натисніть 1 для одного рядка на vCPU, q щоб вийти)
top
2. vmstat: один рядок на секунду протягом 60 секунд, steal у колонці st групи cpu
vmstat 1 60
3. mpstat: %steal для кожного vCPU, один звіт на секунду протягом 60 секунд
mpstat -P ALL 1 60
4. /proc/stat: steal як частка CPU-часу за 10 секунд, без додаткового пакета
a=($(head -n1 /proc/stat)); sleep 10; b=($(head -n1 /proc/stat))
# fields 1-8: user nice system idle iowait irq softirq steal
all=0; for i in 1 2 3 4 5 6 7 8; do all=$((all + b[i] - a[i])); done
awk -v st=$((b[8] - a[8])) -v all=$all 'BEGIN { printf "steal: %.2f%%\n", 100 * st / all }'

Перший рядок /proc/stat сумує всі vCPU в одиницях USER_HZ (сота секунди в більшості систем). Скрипт читає його двічі з інтервалом у десять секунд і ділить steal, що накопичився, на весь час, що минув. Щоб переконатися, що ви взагалі на віртуальній машині, systemd-detect-virt виводить тип гіпервізора, kvm на KVM.

Як читати ці числа?

Жоден стандарт не встановлює "доброго" значення steal, але арифметика проста: завдання, якому CPU потрібен постійно, отримує щонайбільше 100% мінус steal. При 5% steal воно отримує близько 95% часу, який просить; при 25% — близько трьох чвертей. Читайте картину, а не один замір.

Патерни, за якими стежити, поки працює ваше власне навантаження; на простоюючому VPS steal не рахується.
Що ви бачитеЩо це означаєЩо робити
0 на кожному vCPU, поки ваше завдання працює на повному навантаженніУ вас нічого не забирають, або гіпервізор не повідомляє stealПідтвердіть тим самим бенчмарком у два різні часи
Кілька ненульових замірів, потім знову 0Короткочасна конкуренція на хостіЗазвичай нічого; ведіть лог, якщо ваше завдання чутливе до затримок
Стабільний steal під навантаженням, щосекундиВаш vCPU стоїть у черзі за іншими гостямиЗанотуйте години, міряйте протягом дня, надішліть лог хосту
Steal лише на одному vCPU у mpstat -P ALLОдин із ваших потоків потрапляє на більш завантажену частину хостаЗгадайте номер vCPU у своєму тікеті
Steal, що зростає в ті самі години щодняСусіди з розкладом: бекапи, пакетні завдання, піковий трафікПеренесіть важкі завдання на інші години або перейдіть на dedicated vCPU
Будь-який тривалий steal на плані, що продається як dedicatedНа той момент обіцянку не виконуютьПопросіть хостера пояснити або перенести VPS

Чи ділиться мій CPU з галасливими сусідами?

Якщо steal зростає, коли ви навантажуєте CPU, і це зростання йде за тактовою частотою, а не за вашою власною роботою, інші тенанти ділять з вами час процесора. Три перевірки звужують коло:

  1. Навантажте його самі. Запустіть своє реальне завдання або CPU-bound тест і тримайте mpstat -P ALL 1 відкритим у другому терміналі. Steal, що повторює ваше навантаження, означає, що у хостера менше вільного CPU, ніж обіцяє ваш тариф.
  2. Порівняйте години. Запустіть той самий бенчмарк зранку та ввечері. На виділеному vCPU два результати мають бути близькими; як протестувати VPS за допомогою YABS або Geekbench 6 дає команди.
  3. Прочитайте тариф. Тариф із shared vCPU може показувати steal; саме тому він і дешевший. Сторінка про різницю між shared vCPU та dedicated vCPU пояснює, що дає кожен.

Повільний VPS із нульовим steal вказує на інше: очікування диска (стовпець wa, час очікування на I/O), нестача пам'яті або сама програма.

Що спричиняє steal time і як це виправити?

Steal зростає, коли хостинг продав більше зайнятих vCPU, ніж має апаратних потоків, щоб їх виконувати. Коли всі гостьові системи одночасно просять CPU, деяким доводиться чекати, і це очікування рахується як steal у кожній із них.

Що ви можете зробити, від найменших до найбільших зусиль:

  • Перенесіть важку роботу на години, коли хостинг менш завантажений, якщо ваше навантаження це дозволяє.
  • Попросіть хостера перенести ваш VPS на менш завантажений вузол; лог із mpstat робить запит конкретним.
  • Змініть тип тарифу. Dedicated vCPU прибирає інших гостей із ваших потоків. Хости, що їх продають, з формулюваннями кожного та ціною за ядро, перелічені в скільки коштує VPS із dedicated CPU за ядро в листопаді 2026.

Згідно з опитуванням Cobaltfell від 2 листопада 2026, 22 з 51 VPS-хостів, що приймають криптовалюту без документа, що посвідчує особу, письмово обіцяли dedicated CPU, і жоден із них не показав вимірювання steal time на сторінках, які ми читали.

Додавання ще одного shared vCPU рідко допомагає: більше потоків із того самого перевантаженого хостингу чекають у тій самій черзі.

На базі даних steal проявляється перш за все в найповільніших запитах, як пояснюється в як CPU steal впливає на p99-затримку PostgreSQL на VPS.

Який steal має показувати VPS від Cobaltfell?

На виділеному vCPU steal time має бути на нулі або близько нуля. Ми опублікуємо показник, який виміряємо на власних машинах, із зазначенням дати, і ніколи не оцінку. Кожен vCPU закріплений за одним VPS: vCPU — це один апаратний потік процесора хоста. Ваші потоки закріплені один до одного за вашим VPS і ніколи не позичаються іншому клієнту, а два потоки одного фізичного ядра завжди лишаються разом, тож кожні 2 vCPU утворюють одне ціле ядро, якого не ділить із вами сусід.

Наші власні результати YABS і Geekbench 6 разом із виміряним нами steal time будуть опубліковані із зазначенням дати, щойно буде доставлено нашу першу тестову машину. До того часу ми не наводимо жодного власного показника продуктивності. Поки ця сторінка не має датованих цифр, запустіть наведені вище команди на власному VPS; якщо steal тримається, поки виконується ваше завдання, логу достатньо для тікета. Найкращі провайдери VPS із dedicated CPU у 2026 порівнюються за тими самими письмовими критеріями, включно з нашими. Людина відповідає на листи підтримки протягом 12 годин, сім днів на тиждень, зокрема допомагає з SSH-ключами, перевстановленнями та правилами firewall.

Які ще запитання люди ставлять про CPU steal time?

Чи steal time — це те саме, що iowait?

Ні. Steal (st) — це час, коли ваш vCPU хотів виконуватися, але гіпервізор виконував іншу гостьову систему. Iowait (wa) — це час, коли CPU простоював в очікуванні завершення диска чи іншого I/O. Високий iowait вказує на сховище, високий steal — на конкуренцію за CPU.

Чому top не показує значення st?

Посібник top зазначає, що поле st може не показуватися залежно від версії ядра. У поточних дистрибутивах воно з'являється в рядку %Cpu(s); на старому ядрі або поза віртуальною машиною його може не бути або воно може залишатися на нулі.

Чи може виділений сервер показувати steal time?

Система, що працює безпосередньо на апаратному забезпеченні, без гіпервізора під собою, не має в кого красти, тож лічильник залишається на нулі. Steal існує лише для гостьової системи під гіпервізором.

Яке значення steal вже занадто високе?

Жоден стандарт не встановлює межі. Скористайтеся арифметикою: при 10% steal CPU-bound завдання отримує близько 90% потрібного йому часу. На тарифі з dedicated vCPU steal має залишатися на нулі або близько до нього, поки ви працюєте.

Чи steal time впливає й на затримку, а не лише на пропускну здатність?

Так. Кожне очікування затримує запит, що виконувався на цьому vCPU, тож steal проявляється спершу в найповільніших запитах, p99 бази даних чи API, перш ніж зсунути середнє.

Джерела (6)
  1. Специфічні для KVM MSR: MSR_KVM_STEAL_TIME — The Linux Kernel documentation (checked 2026-11-02)
  2. proc_stat(5): статистика ядра/системи — man7.org (Linux man-pages 6.19) (checked 2026-11-02)
  3. Посібник top(1) — man7.org (procps-ng) (checked 2026-11-02)
  4. Посібник vmstat(8) — man7.org (procps-ng) (checked 2026-11-02)
  5. сторінка довідки mpstat(1) — man7.org (sysstat) (checked 2026-11-02)
  6. Посібник systemd-detect-virt(1) — man7.org (systemd) (checked 2026-11-02)

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

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