Назад | Перейти на главную страницу

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

У меня особый вопрос, на который я не смог найти ответ в официальной документации VMware или в некоторых других очень полезных темах здесь, на этой платформе, так что вот он:

У меня есть хост, использующий ESX 6.0 с 2 сокетами, каждый по 6 ядер с HT. Итак, всего у меня на этом оборудовании 12 ядер и 24 потока.

На нем запущено 10 виртуальных машин. Я выделил 34 ядра (знаю, что это плохо, но сейчас не могу это изменить). Однако я испытываю серьезные проблемы с 1 виртуальной машиной, которой назначено 8 ядер (2 x 4).

Я знаю, как работает гиперпоточность, и что при идеальной рабочей нагрузке HT-Core будет иметь около 50% производительности «настоящего» ядра.

Итак, вот мой вопрос: получу ли я выгоду от использования привязки ЦП, чтобы убедиться, что этот сервер имеет 8 «настоящих» (= более быстрых) ядер, вместо того, чтобы позволить VMware обрабатывать ядра?

Ваша проблема не в HT. Повышение HT на 50% - это цифра, основанная на пустоте Обычно для некоторых многопоточных приложений это может быть 5-20% прироста в зависимости от кода и рабочей нагрузки. Дело в том, что на это не стоит рассчитывать при распределении ядер.

В случае VMWare процессоры считаются настоящими ядрами, а логические процессоры считаются частью HT.

Пример:

Intel (R) Xeon (R) CPU E5-2620 v4 имеет 8 ядер и 16 потоков. Сервер Dell, использующий конфигурацию с двумя сокетами, будет иметь 2 таких процессора, то есть 16 ядер и 32 логических процессора (также называемых потоками). Таким образом, хост ESXi покажет: 16 процессоров x Intel (R) Xeon (R) CPU E5-2620 v4 @ 2,10 ГГц

Именно это и происходит в вашем случае: у вас есть 2 процессора по 6 ядер в каждом, то есть ESXi будет иметь 12 ядер (и 24 логических процессора).

Проблемы в вашем случае: 34 ядра - это значительно больше, чем 12 и даже больше, чем 24. Это нормально только до тех пор, пока у вас нет нескольких гостей, максимально использующих выделенные им процессоры.

Назначать 2 ядра и 4 сокета не очень хорошо, так как у вас 2 сокета. ESXi может обрабатывать переводы, но вам лучше назначить 4 ядра ЦП и 2 сокета. Если вам действительно нужна вычислительная мощность на этом 8-ядерном гостевом компьютере, вам следует использовать параметр резервирования при выделении процессоров. Это гарантирует, что другие гости не украдут мощность процессора у вашего гостя, интенсивно использующего процессор.