Настройка CPU и host-passthrough
По умолчанию процессор виртуальной машины работает не напрямую, а через виртуальную модель QEMU. Гостевая система видит не настоящий процессор физического сервера, а его усреднённое представление — с ограниченным набором инструкций, который гарантированно поддерживается на любом хосте платформы.
Зачем процессор скрыт по умолчанию
Такой подход даёт два практических преимущества.
Во-первых, совместимость. Если виртуальную машину нужно перенести на другой физический сервер — например, при обслуживании оборудования или перераспределении нагрузки, — гостевая система продолжает видеть тот же виртуальный процессор, даже если «под капотом» сменилось железо. Без этого перенос между хостами с разными моделями CPU мог бы привести к сбоям: гостевая ОС могла попытаться использовать инструкции, которых на новом физическом процессоре просто нет.
Во-вторых, предсказуемость. Один и тот же тариф ведёт себя одинаково независимо от того, на каком конкретно физическом сервере оказалась виртуальная машина в моменте — а платформа не привязывает клиента к конкретному железу.
Для подавляющего большинства задач — веб-серверов, баз данных, типовых приложений — такой эмулированной модели процессора достаточно, и она не создаёт ощутимых ограничений.
Что такое host-passthrough
Host-passthrough — режим, при котором виртуальная машина видит физический процессор сервера напрямую, со всем его реальным набором инструкций, без усреднения через виртуальную модель.
Такой режим полезен, когда приложению нужны конкретные возможности процессора, которых нет в базовой виртуальной модели — например, специфичные наборы инструкций для вычислений, работы с векторными операциями или задач, чувствительных к особенностям конкретной архитектуры CPU. В таких случаях host-passthrough может дать заметный прирост производительности по сравнению с эмулированным процессором.
Плюсы host-passthrough
Доступ ко всем инструкциям и возможностям реального процессора хоста.
Более высокая производительность для нагрузок, которые умеют использовать специфичные возможности конкретного CPU.
Минусы и ограничения
Виртуальная машина привязывается к конкретной модели процессора. Если сервер переедет на хост с другим CPU, гостевая система может столкнуться с ошибками или нестабильной работой — вплоть до необходимости пересобирать окружение.
Такой режим усложняет перенос виртуальной машины между физическими серверами, особенно если в инфраструктуре используются разные модели процессоров (как это, например, происходит между тарифными группами Base, Turbo и Ultima).
Подходит не всем нагрузкам: если приложение не использует специфичные возможности процессора, прирост производительности будет незаметен, а ограничения при этом сохранятся.
Как включить host-passthrough
Изменение типа эмуляции процессора не выполняется самостоятельно в личном кабинете — эта настройка применяется по запросу в техническую поддержку.
Процессоры на разных тарифах
Модель физического процессора зависит от тарифной группы.
Base:
Intel Xeon E5-2670 v3 @ 2.3 GHz
Intel Xeon E5-2680 v4 @ 2.4 GHz
Intel Xeon Gold 6240 @ 2.6 GHz
Turbo:
Intel Xeon E5-2667 v4 @ 3.2 GHz
Intel Xeon E5-2643 v4 @ 3.4 GHz
Intel Xeon Gold 6234 @ 3.3 GHz
Intel Xeon Gold 6544Y @ 3.6 GHz
Ultima:
AMD EPYC 9274F @ 4.05 GHz
Итог
По умолчанию виртуальная машина работает с усреднённой моделью процессора QEMU — это обеспечивает совместимость и предсказуемое поведение независимо от физического сервера. Host-passthrough даёт доступ к реальному процессору хоста и может повысить производительность для требовательных нагрузок, но привязывает сервер к конкретной модели CPU и усложняет перенос между хостами. Включается такой режим по запросу в техподдержку — стоит выбирать его осознанно, оценив, действительно ли вашему приложению нужны специфичные возможности процессора.