Грабли: ВМ с Windows XP создана с 4мя процессорами, а XP видит только 2, хотя физически в сервере 2 4-ядерных процессора.
Причина: ничего общего презентуемые ВМ виртуальные процессоры с физическими не имеют. Каждый vCPU является одноядерным - соотв. XP ведет себя совершенно нормально, поскольку по условиям лицензии ограничена 2мя процессорами (сокетами).
Лечение: в Advanced Settings для ВМ создать параметр cpuid.coresPerSocket и присвоить ему желаемое значение. Соотв. если для 4х процессорной ВМ cpuid.coresPerSocket = 2, то ВМ увидит 2 2-ядерных процессора.
вторник, 13 апреля 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
Возникает только один вопрос а зачем это делать? Ведь скорость работы упадет.
ОтветитьУдалитьИз-за лицензионной политики.
ОтветитьУдалитьЕсли включён HyperThreading на ESX4, что получит виртуальная машина? Не будет ли сильного падения производительности из-за "неудачных" ядер?
ОтветитьУдалитьESX различает "полноценные" ядра и HT ядра и соотв. распределит потоки таким образом, чтобы получить максимум производительности.
ОтветитьУдалитьКул! :) Возникает другой вопрос - а зачем XP больше двух Ядер?
ОтветитьУдалитьВ Windows SMB Server что с настройкой, что без нее - два одноядерных процессора.
ОтветитьУдалитьВ XP тоже только два одноядерных, если запускать на хосте ESX с HT. А если на хосте без hyperthreading - то видны четыре ядра. Вывод - гипертрединговые ядра не ядра для vmware ?
ОтветитьУдалитьUPD по SBS: SBS тоже показывает два двухъядерника - изначально возникло непонимание с владельцем SBS.
ОтветитьУдалитьESX различает "полноценные" ядра и HT ядра и соотв. распределит потоки таким образом, чтобы получить максимум производительности.
ОтветитьУдалитьПоясните пожалуйста. За счет чего увеличивается производительность?
Если те команды VM которые планировщик гипервизора раздает ядрам (в нашем случае виртуальным HT),будут выполнятся на физических. Тем самым увеличивая на ядро CPU нагрузку на просчет своего собственного виртуального ядра.
Был вопрос о "падении" производительности при включении HT, а не о фантастическом увеличении.
ОтветитьУдалитьESX распределяет потоки в первую очередь по физическим ядрам, и лишь потом по логическим (гипетрединговым). В общем случае это выглядит точно так же, как если бы гипертрединга не было и потоки распредлялись все по тем же физическим ядрам и соотв. начинали бороться за процессорное время. VMware рекомендует включение HT для ESX и заявляет, что будет общий прирост производительности от 0 до 40%. Т.е. к падению это не приведет.
Источник: http://communities.vmware.com/docs/DOC-5101
SMP CPU за один такт машинного времени выполняется одна инструкция или все таки возможно выполнения сразу нескольких ядрах одного pCPU?
ОтветитьУдалитьСсори, имел в виду:
сразу несколького инструкций на нескольких ядрах одного pCPU.
>ESX различает "полноценные" ядра и HT ядра и
ОтветитьУдалить>соотв. распределит потоки таким образом, чтобы
>получить максимум производительности.
Всё-таки непонятно. Может ли получить машина два HT ядра от разных физических ядер? То есть не может ли одна машина влиять на производительность другой - например, выполняя вычисления с плавающей точкой, что вдруг снизит производительность парного HT ядра.
Машина в любом случае получает на каждый свой vCPU логическое ядро, а не физическое, будь то HT процессор или нет.
ОтветитьУдалитьРазница между HT процессорами и не-HT в том, что как только на одном физическом ядре появляется две машины (точнее два потока от vCPU разных машин), не-HT ядро начинает тупо делить между ними процессорное время. HT-ядро в некоторых случаях может совместить исполнение, что улучшает производительность.
ESX прежде всего распределяет vCPU потоки по физическим ядрам. Т.е. если у нас 4ядерный HT процессор = 8 логических ядер, то логические ядра 0 и 1 принадлежат одному физическому. И ESX соотв. сначала раскидает vCPU потоки по ядрам 0, 2, 4 и 6, прежде чем начнет их кидать на 1, 3, 5 и 7. С точки зрения машины абсолютно безразлично, на каком логическом ядре она исполняется, на 0 или 1. Физически это одно и то же ядро, не нужно считать второе логическое HT ядро обрезком от "главного".
И ESX соотв. изо всех сил постарается сделать так, чтобы два vCPU потока одной vSMP машины не оказались на логических ядрах одного и того же физического ядра.