8

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

Теперь у меня есть один процессор с 8 ядрами, так что мне интересно, что бы порекомендовать для моей Гостевой ОС сейчас?

  • 1 процессор /4 ядра?
  • 2 процессора /2 ядра?
  • 4 процессора /1 ядро?

Мой инстинкт говорит придерживаться количества физических процессоров (или меньше), но основано ли это на реальности? Я потратил много времени на поиски ответа на этот вопрос, но, возможно, моя гугл-карма сегодня не в мою пользу.

5 ответов5

3

В моем собственном тестировании с VMWare Workstation, с использованием последних 64-разрядных тестов GeekBench 3, на хост-машине с 1 процессором, 2 ядра (с включенным HT, 4 ядра):

Хост-система:

  • 2866 одноядерных, 5939 многоядерных

Виртуализованная:

  • 1 процессор, 1 ядро: 2783 sc, 2705 мс
  • 1 процессор, 2 ядра: 2758 sc, 4271 мс
  • 1 процессор, 3 ядра: 2783 sc, 5234 мс
  • 1 процессор, 4 ядра: 2769 sc, 5793 мс

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

2

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

Изменить: Этот ответ относится к виртуализации десктопов, а не виртуализации серверов.

0

Самое большее, я даю гостевой ОС 2 ядра. Неважно, если вы делаете 1 процессор 2 ядра или 2 процессора 1 ядро каждый. Настройка процессора для совместимости. Процессор / ядра не так хорошо масштабируются для гостевой ОС из-за планирования ядра / процессорного процесса. 2 ядра, кажется, сладкое место.

0

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

Виртуализировано: 1 процессор, 1 ядро: 2783 sc, 2705 мкс 1 процессор, 2 ядра: 2758 sc, 4271 мкс 1 процессор, 3 ядра: 2783 sc, 5234 мкс 1 процессор, 4 ядра: 2769 sc, 5793 мс Так что, по крайней мере, в моем тестировании похоже, что есть преимущество в настройке виртуального числа ядер в соответствии с вашими физическими ядрами. Может я не прав. Я хотел бы обсудить.

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

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

В ряде сред, которыми я управляю, у нас есть два 10-ядерных ЦП с общим числом логических потоков, равным 40, и мои контроллеры домена все еще получают только два ядра.

-2

Я очень шокирован тем, что на эти часто задаваемые вопросы до сих пор нет полного ответа. Ваш хост-процессор должен поддерживать некоторые технологии виртуализации, например Intel VTx. Это позволяет вам "туннелировать" всю мощь процессора в гостевую операционную систему. В противном случае произойдет огромное падение скорости из-за эмуляции процессора. Если у вас есть ЦП с гиперпоточностью, вы должны увидеть 8 процессоров для четырехъядерного ЦП в диспетчере устройств вашего хост-компьютера (гиперпоточность удваивает количество ваших ядер). В этом случае вы можете назначить 1 процессор с 4 ядрами для вашей гостевой ОС. Если в вашей системе нет другого физического процессора, не назначайте более 1 процессора вашей виртуальной машине. Вы можете назначить больше или меньше ядер для вашей гостевой ОС, в зависимости от ваших потребностей, но вы не должны назначать значение выше, чем ваши ядра с многопоточностью. Но учтите, что вашему хосту также нужна некоторая мощность процессора. Я обычно устанавливаю половину числа своих гиперпоточных ядер и половину числа своей памяти, например 8192 МБ при наличии 16 ГБ ОЗУ. Обычно это хорошая настройка, но не в том случае, если вы хотите запускать более одной виртуальной машины одновременно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .