Настройка процессоров в hyper v

Обновлено: 06.07.2024

Еще в Windows 8 появилась технология виртуализации Hyper-V, ранее доступная только в серверных ОС Microsoft. Это решение выглядит более удачным, чем входившая в Windows 7 виртуальная машина Windows Virtual PC. Сегодня я расскажу, как в Windows с помощью Hyper-V создать виртуальную машину, а также настроить в ней Интернет, локальную сеть и обмен файлами.

На DevCon’12 мы сидели с Денисом Дягилевым (MVP по виртуализации) в зоне «Спроси эксперта», а на нашем стенде был планшет Samsung с Windows 8. Денис предложил провести время с пользой и установить Windows на виртуальную машину, задействовав встроенный гипервизор.

На пути к нашей цели мы успешно преодолели все препятствия вроде поиска дистрибутива и создания ISO из набора файлов на флешке, а также подбора пароля администратора на планшете ;) При этом все действия производились исключительно пальцами, что автоматически переводит их в разряд подвига.

Если же на современном компьютере у вас под рукой есть образ Windows в формате ISO и мышь с клавиатурой, то через 5-7 минут вы сможете приступить к установке системы на виртуальную машину.

[+] Содержание

Общие сведения о Hyper-V в Windows

Поскольку гипервизор является новинкой в клиентских системах, отмечу несколько моментов.

  • доступен только в 64-разрядной Windows не ниже профессионального издания
  • является единственной на данный момент технологией виртуализации Microsoft, поддерживающей 64-разрядные гостевые системы
  • в клиентских системах поддерживает режимы сна и гибернации, в отличие от серверного гипервизора
  • это вам не VirtualBox! © :)

Системные требования для работы Hyper-V в Windows

Если ваш процессор поддерживает требуемые технологии виртуализации, компонент Hyper-V установится без проблем.

У процессора должна быть в наличии и включена в BIOS:

  1. Аппаратная виртуализация. У Intel эта технология называется Intel-VT (может обозначаться как VMX), а у AMD – соответственно AMD-V (SVM).
  2. Трансляция адресов второго уровня, SLAT (Intel EPT или AMD RVI)

Кроме Coreinfo можно использовать фирменную утилиту Intel (у AMD есть аналогичная).

Вы также можете заглянуть в таблицу поддержки технологий виртуализации на сайте производителя вашего процессора: Intel | AMD.

Включение компонента Hyper-V

Hyper-V представляет собой компонент операционной системы, который изначально отключен. Опытные пользователи могут включить его одной командой PowerShell:

Если вы предпочитаете графический интерфейс, нажмите Win + R , введите OptionalFeatures и нажмите Enter .

Hyper-V в Windows

В открывшемся окне отметьте флажком Hyper-V.

Так или иначе, компонент станет доступен после перезагрузки системы. Из проблем с установкой в Windows 8 RP пока была замечена циклическая перезагрузка по вине драйверов контроллера USB 3.0, которая на некоторых системах решалась отключением USB 3.0 в BIOS.

Создание и настройка виртуальной машины

Нажмите Win + R , введите virtmgmt.msc и нажмите Enter , чтобы открыть диспетчер Hyper-V. Из меню Действия выберите Создать – Виртуальная машина.

Мастер создания виртуальной машины предельно прост, однако я отмечу некоторые моменты для тех, кто любит подробные инструкции с картинками. Шаг настройки сети я сейчас пропущу, поскольку ниже буду разбирать этот вопрос подробнее.

Стандартное расположение для виртуальных машин – папка ProgramData, но его можно изменить.

Hyper-V в Windows

Если у вас уже есть виртуальный диск в формате VHD, можете подключить его. Я, кстати, так и сделал, воспользовавшись диском, созданным ранее для Virtual Box.

Hyper-V в Windows

Когда вы указываете имеющийся VHD, из мастера пропадает шаг, на котором задается носитель для установки системы.

Hyper-V в Windows

Однако путь к ISO можно указать и позже, открыв параметры виртуальной машины в главном окне диспетчера Hyper-V.

Запуск виртуальной машины и установка Windows на нее

Здесь тоже все просто, но немного непривычно для тех, кто ранее не сталкивался с Hyper-V.

В диспетчере Hyper-V:

  • для запуска виртуальной машины нажмите «Пуск»
  • для взаимодействия с ней нажмите «Подключить» или дважды щелкните эскиз машины

Когда в параметрах машины указан загрузочный ISO-образ Windows, вы увидите на экране знакомую надпись Press any key to boot… Дальше вы уже сами справитесь, но если вам нужны пошаговые инструкции по установке, они есть на OSZone для Windows 7 и Windows 8.

Если операционная система на физической машине новее той, что установлена на виртуальной, рекомендуется обновить компоненты интеграции (спасибо, Артем). Для этого подключитесь в диспетчере Hyper-V к виртуальной машине, нажмите Ctrl + I и запустите setup.exe.

Настройка доступа в Интернет и локальной сети

Инструкции из этого раздела необходимы лишь в том случае, если вас не устраивает появившийся в Windows 10 1709 коммутатор по умолчанию (Default Switch), который нельзя удалить или переименовать. При использовании Default Switch в случае подключения хоста к VPN виртуальная машина также использует VPN. В этом заключается одно из главных отличий от внешнего коммутатора, создание которого я опишу дальше.

В меню Действия выберите Настройка виртуальных коммутаторов. Откроется окно, в котором можно создать коммутатор одного из трех типов. Чтобы ваша виртуальная машина могла выходить в Интернет, создайте внешний коммутатор.

Теперь нужно задать имя коммутатора и выбрать сетевой адаптер, если у вас их больше одного. Дома я использую беспроводную сеть, поэтому выбрал адаптер Wi-Fi.

Остается лишь указать созданный коммутатор в параметрах сетевого подключения виртуальной машины.

Теперь в установленной Windows у вас будет подключение к Интернету и локальная сеть между физической и виртуальной машинами.

На рисунке выше вы видите:

  • слева – результат добавления виртуального коммутатора в Hyper-V на физической машине, т.е. сетевой мост и виртуальный адаптер
  • справа – доступ в Интернет и подключение к локальной сети на виртуальной машине

Как видите, настройка Интернета и локальной сети не столько сложна, сколько непривычна для пользователей клиентских ОС Microsoft.

Обмен файлами между физической и виртуальными машинами

По ходу работы с виртуальной машиной регулярно возникает необходимость скопировать на нее файлы с физической, либо наоборот. Я опишу несколько способов решения этой задачи.

Общие сетевые папки

Этот способ работает во всех изданиях Windows 10. Поскольку в нашем распоряжении есть локальная сеть, можно использовать общие папки для обмена файлами. Фактически инструкции ниже сводятся к основам создания общих папок.

Доступ с виртуальной машины на физическую

Картинка стоит тысячи слов, как говорят американцы.

Hyper-V в Windows

На рисунке показан проводник виртуальной машины (VIRTUAL-PC), откуда осуществляется доступ к физической машине (VADIK-PC). Как только вы введете учетные данные аккаунта, доступ к его профилю будет в вашем распоряжении.

Возможно, вы захотите сделать общей папку, расположенную на физической машине вне своего профиля. Для этого достаточно задействовать стандартные средства предоставления общего доступа, но этот процесс я объясню уже на примере доступа к произвольной папке виртуальной машины.

Доступ с физической машины на виртуальную

Допустим, в корне диска виртуальной машины есть папка Shared. Щелкните по ней правой кнопкой мыши и выберите Общий доступ – Отдельные люди (или Конкретные пользователи в Windows 7).

Теперь вы можете открыть общую папку по сети в проводнике, в том числе введя в адресную строку адрес вида \\имя-компьютера\имя-папки.

Подключение к удаленному рабочему столу виртуальной рабочей машины

В Hyper-V между физической и виртуальной машиной невозможен обмен файлами путем копирования и вставки. Можно лишь вставлять скопированный на физической машине текст сочетанием клавиш Ctrl + V . Однако после запуска виртуальной машины можно соединяться с ней посредством RDP вместо того чтобы открывать ее из диспетчера Hyper-V. Этот способ работает в изданиях Pro и выше.

Действия на виртуальной машине

Сначала нужно разрешить на виртуальной машине подключения к удаленному рабочему столу в свойствах системы. Нажмите Win + R и выполните:

Затем разрешите подключение, как показано на рисунке.

Hyper-V в Windows

Остается лишь выяснить IP-адрес виртуальной машины командой ipconfig

Hyper-V в Windows

Действия на физической машине

Нажмите Win + R и введите mstsc и раскройте параметры входа.

Hyper-V в Windows

В открывшемся окне:

  1. Введите IP-адрес виртуальной машины (обязательно).
  2. Укажите имя пользователя, в чью учетную запись будет выполнен вход.
  3. Включите запоминание учетных данных.
  4. Сохраните параметры подключения.

Вы также можете задать на вкладке «Экран» разрешение меньше того, что используется в физической машине.

Теперь можно обмениваться файлами между физической и виртуальной машинами привычными сочетаниями клавиш Ctrl + C и Ctrl + V .

Советы по использованию Hyper-V

Напоследок я хотел бы виртуализировать несколько рекомендаций Дениса Дягилева по работе с Hyper-V.

Используйте RDP для подключения к виртуальным машинам.

Это не только позволит обмениваться файлами между физической и виртуальной машиной путем копирования и вставки, но и сэкономит системные ресурсы, которые потребляет vmconnect при подключении к виртуальной машине в диспетчере Hyper-V или из командной строки.

Если вы планируете регулярно использовать RDP для подключения к различным виртуальным машинам, закрепите программу на панели задач. Тогда в списке переходов будет сохраняться список машин.

Hyper-V в Windows

Будьте внимательны со снимками

С помощью Hyper-V можно создавать снимки виртуальной машины, благодаря использованию технологии дифференциальных дисков. Однако логика работы снимков практически обратна той, что ожидает от нее человек, еще ни разу не наступавший на грабли.

Hyper-V в Windows

Александр Косивченко (MVP по виртуализации) подробно, хотя и несколько сумбурно, описал принцип работы снимков Hyper-V на Хабре.

Используйте импорт виртуальных машин при необходимости

Импорт будет более интересен ИТ-специалистам, но мне случайно довелось воспользоваться этой функцией. После создания виртуальной машины я переименовал букву диска, на которой она хранилась, после чего диспетчер Hyper-V ее потерял.

Оглядевшись в оснастке, я увидел опцию импорта и моментально восстановил машину.

Hyper-V в Windows

Причем я даже не подозревал, что выполненные мною действия стали возможны лишь за счет появления новой возможности в Hyper-V :)

Hyper-V vs. VirtualBox

Разбираясь с Hyper-V, я невольно сравнивал решение Microsoft для клиентской операционной системы с Oracle VirtualBox.

С точки зрения типичных задач домашних пользователей (тестирование установки системы, ознакомление с ней, проверка работы приложений) эти решения практически не отличаются друг от друга. Но VirtualBox можно использовать в домашних изданиях Windows 10, в то время как Hyper-V в них недоступен.

VirtualBox не имеет столь жестких аппаратных требований, а его графические возможности даже шире, поскольку имеется поддержка аппаратного ускорения 3D (хотя я никогда ей не пользовался).

Что касается графического интерфейса, то это исключительно дело вкуса. Наверное, пришедший из серверных ОС гипервизор выглядит более аскетично, но параметры и настройка виртуальных машин в целом очень похожи.

Наличие Hyper-V в Windows в первую очередь порадует ИТ-специалистов, привыкших к этой технологии. Для домашних пользователей – это хорошая возможность воспользоваться встроенными средствами системы и расширить свой кругозор, приобщившись к серверным технологиям Microsoft.

Опрос

Я познакомился с виртуальными машинами в 2004 году, когда начал заниматься автоустановкой Windows. С тех пор они стали неотъемлемой частью моей повседневной работы, включая тестирование системных настроек, программ и т.п.

В комментариях расскажите, каким решением для виртуализации вы пользуетесь и с какой целью!

Я хочу поблагодарить Дениса Дягилева за помощь в подготовке этого материала. Одним из преимуществ программы MVP является знакомство с лучшими специалистами по технологиям Microsoft. Это означает, что в частном порядке можно получить грамотную консультацию по любому вопросу ;)

Денис также любезно предложил свою помощь в проведении дискуссии. Поэтому если у вас возникнут технические вопросы по этой статье, вы можете рассчитывать на квалифицированные ответы.

Я хочу специально подчеркнуть, что комментарии не предназначены для обсуждения графического интерфейса и прочих нововведений в Windows 8. Своим взглядом на эти моменты и личным опытом работы в Windows 8 RP на десктопе я обязательно поделюсь с вами. Но для этого мне нужно поработать в системе какое-то время, потому что обзор на следующий день после установки может быть лишь поверхностным. Когда запись выйдет, вы сможете выплеснуть ненависть или восторг в комментариях. А пока я прошу вас не выходить за рамки темы виртуализации.

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.

Вадим - владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.

Вас также может заинтересовать:

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

Виртуальная машина Integration Services включает драйверы поддержкой для устройств ввода-вывода, специфичных для Hyper-V, что значительно сокращает нагрузку на ЦП для операций ввода-вывода по сравнению с эмуляциями устройств. Следует установить последнюю версию виртуальной машины Integration Services на каждой поддерживаемой виртуальной машине. Службы уменьшают загрузку ЦП гостевых компьютеров, от бездействующих гостей до интенсивно используемых гостей и улучшают пропускную способность ввода-вывода. Это первый шаг в настройке производительности на сервере с Hyper-V. Список поддерживаемых гостевых операционных систем см. в статье Обзор Hyper-V.

Виртуальные процессоры

Hyper-V в Windows Server 2016 поддерживает не более 240 виртуальных процессоров на каждую виртуальную машину. Виртуальные машины, для которых используются нагрузки, не требующие интенсивного использования ЦП, должны быть настроены на использование одного виртуального процессора. Это обусловлено дополнительными издержками, связанными с несколькими виртуальными процессорами, например дополнительными затратами на синхронизацию в гостевой операционной системе.

Увеличьте число виртуальных процессоров, если для виртуальной машины требуется более одного ЦП при пиковой нагрузке.

Фоновое действие

Минимизация фоновых действий в бездействующих виртуальных машинах освобождает циклы ЦП, которые могут использоваться другими виртуальными машинами. Windows гости обычно используют менее одного процента от одного цп, когда они бездействуют. Ниже приведены некоторые рекомендации по минимизации фонового использования ЦП виртуальной машины.

Установите последнюю версию Integration Services виртуальной машины.

удалите эмулированного сетевого адаптера с помощью диалогового окна "параметры виртуальной машины" (используйте адаптер Microsoft Hyper-V).

Удалите неиспользуемые устройства, такие как компакт-диски и COM-порты, или отключите их носители.

при отсутствии использования и отключении заставки используйте Windows гостевой операционной системы на экране входа.

Проверьте запланированные задачи и службы, которые включены по умолчанию.

Проверьте поставщики трассировки событий Windows, которые включены по умолчанию, запустив logman.exe Query-ETS .

Улучшение серверных приложений для сокращения периодических действий (например, таймеров).

Закройте диспетчер сервера в основной и гостевой операционных системах.

Не выполняйте запуск диспетчера Hyper-V, так как он постоянно обновляет эскиз виртуальной машины.

ниже приведены дополнительные рекомендации по настройке версии клиента Windows на виртуальной машине для снижения общей загрузки цп.

отключите фоновые службы, такие как "упреждающая выборка" и "поиск Windows".

Отключите запланированные задачи, такие как запланированная дефрагментация.

Виртуальная топология NUMA

чтобы обеспечить виртуализацию больших рабочих нагрузок, Hyper-V в Windows Server 2016 развернутые ограничения масштабирования виртуальных машин. Одной виртуальной машине можно назначить до 240 виртуальных процессоров и 12 ТБ памяти. При создании таких крупных виртуальных машин, скорее всего, будет использоваться память из нескольких узлов NUMA в основной системе. В такой конфигурации виртуальной машины, если виртуальные процессоры и память не распределяются из одного узла NUMA, рабочие нагрузки могут иметь неплохое снижение производительности из-за невозможности воспользоваться преимуществами оптимизации NUMA.

в Windows Server 2016 Hyper-V представляет виртуальным машинам топологию NUMA. Виртуальная топология NUMA по умолчанию оптимизируется в соответствии с топологией NUMA основного компьютера. Предоставление топологии NUMA виртуальной машине позволяет гостевой операционной системе и установленным в ней приложениям с поддержкой NUMA использовать связанные с NUMA преимущества оптимизаций производительности точно так же, как если бы они работали на физическом компьютере.

Между виртуальной и физической архитектурой NUMA нет различий от перспективы рабочей нагрузки. Когда рабочая нагрузка на виртуальной машине выделяет локальную память для данных и обращается к этим данным на одном и том же узле NUMA, в соответствующей физической системе осуществляется быстрый доступ к локальной памяти. При этом потерь производительности в процессе доступа к удаленной памяти удается избежать. Только приложения, поддерживающие NUMA, могут использовать преимущества Внума.

Microsoft SQL Server является примером приложения, поддерживающего NUMA. Дополнительные сведения см. в разделе Общие сведения о доступе к неоднородной памяти.

Виртуальную архитектуру NUMA и функцию динамической памяти нельзя использовать одновременно. Виртуальная машина, для которой включена динамическая память, имеет только один виртуальный узел NUMA и ей не предоставляется топология NUMA вне зависимости от параметров виртуальной архитектуры NUMA.

Дополнительные сведения о виртуальной архитектуре NUMA см. в статье Общие сведения о виртуальной архитектуре NUMA Hyper-V.

В предыдущей статье был слегка затронут вопрос распределения процессорной мощности между виртуальными машинами. Как мне кажется, тема эта достаточно интересная и заслуживающая внимания. Поэтому сегодня мы попробуем детально разобраться в том, как происходит распределение физических ресурсов процессора, а также покрутим все имеющиеся настройки виртуальных процессоров и выясним, для чего они нужны и как работают.

настройки процессора в Hyper-V

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

На случай нехватки ресурсов есть дополнительные настройки, объединенные под общим названием Resource control. О них стоит рассказать поподробнее.

Virtual Machine Reserve

Этот параметр задает процент ресурсов, который будет зарезервирован за виртуальной машиной. Этот параметр играет роль в ситуации нехватки ресурсов, то есть когда физические процессоры используются на все 100%. В этом случае те из виртуальных машин, у которых задан этот параметр, должны гарантированно получить то, что за ними зарезервировано. По умолчанию Virtual Machine Reserve не задан и имеет значение 0%.

Работает этот параметр следующим образом. Возьмем виртуальную машину, выделим ей 2 виртуальных процессора и установим Virtual Machine Reserve равным 100. Это значит, что от физически имеющихся ресурсов этой виртуальной машине зарезервировано 100 % от 2 ядер, или 8% от общей процессорной мощности. Это значение отображается в поле «Percent of total system resources».

резервирование процессорной мощности в Hyper-V

Регулировать резерв можно как через Virtual Machine Reserve, так и изменяя количество виртуальных ядер. Например, те же 8% можно получить при 8 ядрах по 25% каждое.

вариант настройки резервирования

Резервирование не накладывает жестких ограничений на потребляемые ресурсы. Если одной из виртуальных машин потребуется больше ресурсов – они будут ей предоставлены, даже если все 100% зарезервированы. В Hyper-V свободный процессорный ресурс может легко выделяться виртуальным машинам, и так же легко у них забираться.

Параметр Virtual Machine Reserve вступает в дело только в ситуации нехватки системных ресурсов. Основное его назначение – гарантировать бесперебойную работу особо критичных виртуальных машин.

Virtual Machine Limit

Лимит применяется отдельно к каждому виртуальному процессору. К примеру, если виртуальная машина сконфигурирована с 4 процессорами и установлен лимит 50% — то она получит четыре виртуальных процессора, каждый из которых ограничивается 50%.

лимит на использование процессорных ресурсов в Hyper-V

Обратите внимание, что в отличие от резервирования лимит задается жестко. Если Virtual Machine Limit равен 50% — виртуальная машина никогда не сможет использовать больше, даже если на сервере больше ничего не запущено.

Relative Weight

Третий параметр, Relative Weight, представляет из себя безразмерную величину и может варьироваться в пределах от 0 до 10000. По умолчанию равен 100.

Таким образом Relative Weight позволяет разделять виртуальные машины на более и менее критичные, при этом не боясь, что какая-то из них откажется запускаться из за отсутствия ресурсов.

настройка relative weight для процессора в Hyper-V

Важный момент. Relative Weight не дает гарантий, что виртуальная машина в нужный момент получит необходимое ей количество процессорных ресурсов. Если какие-то из виртуальных машин являются особо критичными – лучше использовать Virtual Machine Reserve, который гарантирует выделение ресурсов.

В заключение скажу, что Hyper-V достаточно гибко распределяет процессорное время между виртуалками, поэтому дополнительные настройки не стоит трогать без крайней необходимости. И еще, все вышенаписаное относится как к Windows Server 2012, так и к Server 2008R2, по крайней мере серьезных отличий я не заметил.

date

10.02.2020

directory

Hyper-V, KVM, VMWare, Windows 10, Виртуализация

comments

комментария 2

При создании виртуальных машин на различных гипервизорах (VMWare, KVM, Hyper-V и т.д.) вы можете обратить внимание, что иногда виртуальная машина может не видеть все выделенные ей виртуальные ядра (vCPU). В нашем случае виртуальной машине на KVM были выделены 8 vCPU, на нее установлена Windows 10. Однако Windows определяла эти ядра как отдельные процессоры, из которых можно использовать только 2 vCPU.

Виртуальная машина Windows 10 не видит все ядра

Если открыть диспетчер устройств Windows, можно убедится, что все выделенные ядра видны в качестве 8 отдельных виртуальных процессоров типа QEMU Virtual CPU version 2,5.

Виртуальные процессоры QEMU Virtual CPU version 2 в оборудовании виртуальной машины.

При этом в свойствах Windows 10 (Computer -> Properties) и в Task Manage видно, что на компьютере доступны только 2 процессора QEMU Virtual CPU.

Windows не видит все выделенные виртуальные процессоры

То есть сколько бы вы не добавили виртуальных ядер, Windows 10 все равно сможет использовать только два. При этом соседний виртуальный сервер с Window Server 2016 на этом же гипервизоре видит все 16 выделенных ему vCPU.

Количество поддерживаемых процессоров в Windows 10

Проблема заключается в том, что в десктопных редакциях Windows (Windows 10/8.1/7) есть ограничение на максимальное количество физических процессоров (сокетов), которое компьютер может использовать:

  • Windows 10 Home – 1 CPU
  • Windows 10 Professional – 2 CPU
  • Windows 10 Workstation – до 4 CPU
  • Windows Server 2016 – до 64 CPU

Однако это ограничение не распространяется на ядра. Т.е. для повышения производительности вы можете использовать процессор с большим количеством ядер. Большинство гипервизоров умеют предоставлять vCPU в виде процессоров, процессорных ядер или даже потоков. Т.е. вместо 8 виртуальных CPU вы можете предоставить vCPU в виде 2 сокетов по 4 ядра в каждом. Рассмотрим, как в различных системах виртуализации выделить виртуальные процессоры в виде ядер и как это связать с архитектурой NUMA, использующейся в современных процессорах.

Управление виртуальными ядрами и vCPU в KVM

В моей виртуальной машине KVM c Windows 10, все назначенные виртуальные ядра считаются отдельными процессорами.

Выключите виртуальную машину:

Особенности управления ВМ в KVM из консоли сервера с помощью virsh.

Выведите текущую XML конфигурацию виртуальной машины KVM:

Нам интересен блок с описанием процессоров:

Как видим, у нас указано просто 8 vCPU. Изменим конфигурацию:

И после </features> добавим:

несколько виртуальных ядер в Windows 10

Также в свойства системы теперь стал отображаться физический процессор хоста Intel(R) Xeon(R) Silver 4114 CPU, а не виртуальный.

виртуальная машина KVM с гостевой Windows 10 видит два физических процессор с несколькими ядрами

Так нам удалось решить проблему с нагрузкой на ВМ, так как двух ядер не хватало для полноценной работы приложений.

Настройка виртуальных процессоров и количества ядер в VMWare

Вы можете изменить способ презентации vCPU для виртуальной машины VMWare из интерфейса vSphere Client.

vmware - количесвто ядер на процессор в виртуальной машине

  1. Выключите ВМ и откройте ее настройки;
  2. Разверните секцию CPU;
  3. Изменим конфигурацию ВМ так, чтобы гостевая ОС видела 2 процессора по 4 ядра. Измените значение Cores per Socket на 4. Это означает, что гостевая ОС будет видеть два четырех –ядерных процессора (2 сокета по 4 ядра);
  4. Сохраните изменения и запустите ВМ.

Архитектура NUMA и виртуальные vCPU

Есть еще несколько аспектов назначения vCPU и ядер виртуальным машинам, которые нужно понимать.

При назначении ядер на сокете учитывайте наличие NUMA архитектуры (используется в большинстве современных CPU). Не рекомендуется назначать вашей ВМ количество ядер на сокет (и общее количество vCPU) больше, чем доступно ядер на вашем физическом сокете/процессоре (ноде NUMA). При размещении на одной физической ноде NUMA, виртуальная машина сможет использовать быструю локальную RAM, доступную на конкретной ноде NUMA. Иначе для выполнения операции процессам придется ждать ответа от другой ноды NUMA (что несколько более долго).

Если вы назначаете для ВМ два отдельных виртуальных сокета, то гипервизор может их запускать на разных нодах NUMA. Что не лучшим образом скажется на производительности ВМ.

Если количество требуемых vCPU превышает количество ядер на 1 физическом сокете (ноде NUMA), нужно создать несколько виртуальных сокетов (процессоров) с необходимым количество ядер. Также не желательно использовать нечетное количество процессоров (лучше добавить 1 vCPU)

Это позволит сохранить производительность виртуальной машины.

vCPU и процессорная архитектура NUMA

Требуемое количество vCPUКоличество виртуальных сокетов в настройках ВМКоличество ядер на виртуальном процессоре в настройках ВМ
111
……
10110
11Не оптимально
1226
……
20210

Например, ВМ с Microsoft SQL Server 2016 Enterprise Edition 16 vCPU в конфигурации 8 сокетов по 2 ядра будет работать хуже, чем в конфигурации 2 сокета по 8 ядер.

Также не забывайте, что некоторые приложения лицензируются по физическим сокетам (так было в старых версиях SQL Server). Иногда вам просто выгоднее лицензировать один многоядерный процессор, чем несколько процессоров с меньшим количеством ядер.

Читайте также: