Vmware vSphere несколько ядер для виртуальной машины

Так  чем же может быть вызвана необходимость иметь несколько ядер в виртуальной машине?

Причина проста. Microsoft Windows поддерживает лишь ограниченное число процессоров в своей ОС.

Windows Версия Максимальное число процессоров
Win2k3/2k8 Standard 4 CPUs
Win2k3/2k8 Enterprise 8 CPUs
Windows 2003 DataCenter 32bit 32 CPU
Windows 2003 DataCenter 64bit 64 CPU
Windows 2008 DataCenter 64bit 64 CPU
Win 2k8 R2 64 физических CPU или 256 логических CPU

Возьмем в качестве примера Dynamics AX AOS server, вещь достаточно тяжелая и для нормальной работы требует большого количества процессоров или ядер. В сервер AOS есть такое понятие как  helper, это что то типа потока, так вот, можно установить максимальное количество таких helper-ов для работы с  распределенными пакетными заданиями. Максимальное количество helper-ов (а значит и вспомогательных ядер) — 21. И если АОС работает на Windows 2003 Standard, то для улучшения производительности мне продеться задействовать технологию многоядерности, ведь в этой операционной системы я смогу использовать лишь 8 «физических» процессоров.

Приведу еще один пример. Лицензирования MS SQL Server осуществляется по физическим процессорам, а ядра в их модели лицензирования не учитываются. Т.е. выгодно покупать однопроцессорную лицензию MS и ставить ее на виртуалку с 4 ядрами, тем самым мы обеспечим низкую цену такого решения и нормальную производительность.

Как задействовать многоядерность в виртуальной машине?

Сначала про требования:

Первое: железо в ВМ должно быть версии 7 (7 hardware).

Второе: версия vSphere 4.

Третье: если вы хотите использовать 8 vCPU, вам необходима лицензия Enterprise Plus (некисло так…)

Допустим вам нужно создать виртуалку с 4 vCPU и двумя ядрами на каждом из этих процессоров. А вот дальше расскажу вам страшный секрет: вы должны дать такой машине  8 vCPU (4vCPU x 2 ядра= 8vCPU), а не  4 vCPU. Т.е. количество сокетов рассчитывается по формуле vCPU/количество ядер.

mulcor-01

Эти мы предоставим виртуальной машине всего 8 vCPU. Теперь нужно настроить 2 ядра для каждого из vCPU. Эта настройка выполняется при помощи специального параметра в секции Configuration Parameters. Отключите ВМ, а потом перейдите в меню  Edit VM Setting.
mulcor-02

Вручную нужно добавить следующий параметр: cpuid.coresPerSocket

mulcor-03

Затем, включите свою виртуальную машину.

Как же проверить многоядерность?

Ну, самый простой способ – открыть Task Manager (диспетчер задач) и Device Manager (диспетчер устройств).

mulcor-04

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

Есть еще способ просмотра количества ядер  в Windows 2008 и выше.

Наберите в ВМ: >cmd->wmic->cpu

mulcor-05

Прокрутите окно до середины. Это опять лишь пример и выполнен на другой машине. Наведите прокрутки посередине.

В W2k3 придется использовать утилиты сторонних производителей.

mulcor-06

Возможные проблемы

Как я  уже говорил, вы должны использовать версию с лицензией Enterprise Plus или Evaluation.  В противном случае, вы получите такую ошибку.

mulcor-07

Так в чем же разница между многопроцессорной и многоядерной виртуальной машиной?

С точки зрения производительности – разницы никакой. Отличие только в предпочтениях. Однако хорошим тоном в том случае, если вы хотите иметь 8 ядерный процессор, создать 4 VCPU х 2 ядра или 2 х VCPU с 4 ядрами.

Опубликовано в VMWare

1 thought on “Vmware vSphere несколько ядер для виртуальной машины”

  1. Настраивал многоядерность по старому посту (//vmblog.ru/kak-nastroit-kolichestvo-yader-na-cpu-v-virtualnoj-mashine/) и там этот момент откомментировал 🙂
    а тут уже все описано, как надо… спасибо за блог!

Комментарии закрыты.