До основного вмісту

Апаратна віртуалізація: що таке VT-x і AMD-V

VDS / VPS · 13.10.2026 · 4 хв читання
Ілюстрація до статті «Апаратна віртуалізація: що таке VT-x і AMD-V»

Коли провайдер віртуальних серверів згадує VT-x або AMD-V, йдеться не про бренд, а про конкретний набір інструкцій процесора, без якого сучасна віртуалізація працювала б на порядок повільніше. Ця стаття для тих, хто хоче зрозуміти, що саме перевіряє гіпервізор перед запуском віртуальної машини і чому деякі образи взагалі відмовляються стартувати без цієї функції.

Що таке апаратна віртуалізація процесора

VT-x — це набір розширень набору команд процесорів Intel, які спрощують роботу гіпервізора з пам'яттю і перериваннями віртуальних машин. AMD-V вирішує те саме завдання для процесорів AMD. До появи цих розширень гіпервізору доводилося емулювати привілейовані інструкції програмно, перехоплюючи і переписуючи код гостьової операційної системи на льоту — це і називають програмною віртуалізацією, і працює вона помітно повільніше.

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

Як перевірити, чи увімкнена апаратна віртуалізація

На сервері з Linux достатньо однієї команди, щоб побачити, чи підтримує процесор потрібне розширення:

egrep -c '(vmx|svm)' /proc/cpuinfo

Прапорець vmx означає підтримку VT-x у процесорів Intel, прапорець svm — підтримку AMD-V у процесорів AMD. Якщо команда повертає нуль, підтримка або відсутня фізично, або вимкнена в BIOS чи UEFI, або недоступна всередині віртуальної машини верхнього рівня — вкладена віртуалізація потребує окремого увімкнення на гіпервізорі, про що детально розказано у статті «Як створити віртуальну машину в Proxmox».

VT-x і AMD-V: у чому різниця для користувача

Для звичайного адміністратора віртуального сервера різниця між двома технологіями майже не відчувається — обидві вирішують одне завдання на різних архітектурах процесора. Різниця помітна лише на рівні платформи віртуалізації і набору пов'язаних технологій.

ПараметрVT-x (Intel)AMD-V (AMD)
Прапорець у /proc/cpuinfovmxsvm
Розширення для пам'ятіEPT (Extended Page Tables)RVI / NPT (Nested Page Tables)
Виробник процесораIntelAMD
Підтримка вкладеної віртуалізаціїЄ, за умови увімкнення на гіпервізоріЄ, за умови увімкнення на гіпервізорі

Платформи на кшталт Proxmox VE використовують обидва розширення однаково прозоро для користувача — опис самої платформи є у статті «Proxmox: що це таке».

Для клієнта, який орендує готову віртуальну машину, апаратна віртуалізація працює непомітно — провайдер уже увімкнув її на рівні гіпервізора. Знати про неї варто у кількох конкретних випадках:

  • Запуск вкладеної віртуальної машини всередині орендованого VPS — для тестів або власного гіпервізора
  • Використання Docker та інших контейнерних технологій, які частково спираються на ті самі розширення ядра
  • Діагностика падіння продуктивності, коли треба виключити програмну емуляцію як причину

Після такої перевірки зручно одразу перейти до розгортання робочої віртуальної машини — порядок дій описаний у статті «Віртуалізація на виділеному сервері».

Що робити, якщо апаратна віртуалізація недоступна

Якщо перевірка показала, що потрібного прапорця немає, варто пройти кроки у такому порядку.

  1. Переконатися, що процесор фізичного сервера взагалі підтримує VT-x або AMD-V за документацією виробника
  2. Увійти до налаштувань BIOS або UEFI і знайти пункт, що відповідає за віртуалізацію процесора — він може називатися по-різному у різних виробників плат
  3. Увімкнути відповідний пункт і зберегти налаштування з перезавантаженням сервера
  4. Повторити перевірку прапорця vmx або svm після завантаження системи
  5. Якщо сервер орендований у провайдера, звернутися до підтримки з проханням увімкнути вкладену віртуалізацію на рівні гіпервізора

Часті питання

Чи працює віртуальна машина взагалі без VT-x або AMD-V?

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

Чи можна увімкнути VT-x програмно, без входу в BIOS?

Ні, це налаштування самого процесора на рівні прошивки плати, операційна система не може змінити її з програмного середовища. Єдиний спосіб — зайти в BIOS або UEFI під час завантаження сервера.

Чи впливає VT-x на продуктивність звичайних програм без віртуалізації?

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

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці