Ограничения процессора Hyper-V

14

Недавно мы приобрели сервер под управлением Hyper-V 2008 R2 с нуля. Сервер имеет два четырехъядерных процессора Intel Xeon с гиперпоточностью, поэтому, если я правильно понимаю, это дает нам 16 ядер. В Hyper-V мы создали виртуальную машину под управлением Windows Server 2008 R2 с 4 виртуальными процессорами. Экран настроек процессора говорит мне, что это составляет 25% от общей вычислительной мощности системы. Означает ли это, что оставшиеся 75% не могут быть задействованы виртуальной ОС? Мы будем использовать несколько других виртуальных машин, но эта предназначена для SQL Server, и мы хотели бы использовать как можно больше лошадиных сил.

Скотт
источник
5
Вы хотите быть чрезвычайно осторожным при распределении виртуальных ЦП на машине. Это означает, что виртуальная машина должна подождать, пока 4 физических процессора не будут доступны одновременно, прежде чем она сможет работать. Смотрите здесь
Голокриптик
6
Насколько идет Hyperthreading, посмотрите на эту прекрасную грунты: arstechnica.com/old/content/2002/10/hyperthreading.ars
Hyppy
4
Holocryptic, ваше утверждение верно для более старых систем VMWare, но никогда не было верным для Hyper-V. Hyper-V не «планирует» виртуальные процессоры.
Джейк Ошинс

Ответы:

15

VCPU может быть сопоставлен только с одним физическим процессором. Вы не можете взять 4 физических процессора и создать один виртуальный ЦП, который в 4 раза быстрее; это просто не так, как это работает.

Hyper-V ограничен назначением 4 виртуальных ЦП виртуальной машине (последнее, что я проверял). Если вам требуется значительная мощность ЦП, если говорить физически, нет смысла добавлять накладные расходы на виртуализацию к чему- то интенсивному ЦП и параллельному в первую очередь.

Кроме того, как отмечает Holocryptic, если вы назначите 4 виртуальных ЦП виртуальной машине, эта виртуальная машина не сможет работать, пока Hyper-V не приобретет 4 физических ядра ЦП для их запуска. В зависимости от вашей конфигурации это может быть основным камнем преткновения (например, если у вас 6-ядерный компьютер с кучей из 4 виртуальных машин vCPU, только одна из них будет работать одновременно, остальные два ядра всегда будут по существу неиспользованными). По словам Джейка Ошинса, это было не так для любой версии Hyper-V. Он заявляет, что Hyper-V не использует планирование банд для ЦП; как почти любой другой гипервизор. Соответственно, если доступно одно физическое ядро ​​ЦП, Hyper-V может использовать его для запуска многопроцессорной виртуальной машины. (Также упоминается, что Hyper-V может не использовать все физические ядра, доступные в то время из-за разделения NUMA)

Примечание: SQL не обязательно использует все те ядра, которые вы можете использовать. Это действительно зависит от того, для чего вы его используете и насколько распараллеленна нагрузка.

Крис С
источник
Я согласен, но накладные расходы на виртуальные процессоры почти ничего, и редко вступает в игру.
Nate
4
Крис, записка Голокриптика просто неверна. Hyper-V не ждет, пока освободятся 4 виртуальных ЦП, прежде чем планировать виртуальный процессор с виртуальной машины 4 VP. Hyper-V планирует виртуальный процессор всякий раз, когда у него есть физический процессор, на котором он может работать, с несколькими оговорками. Например, он ищет физические процессоры в том же физическом узле NUMA, что и остальные виртуальные машины.
Джейк Ошинс
3

Да, что сказал Крис. Если вам требуется более 4 процессоров в виртуальной машине Hyper-V, то создайте два виртуальных SQL-сервера и распределите базы данных или перейдите на физический уровень. В зависимости от вашей лицензии на сервер SQL вы можете добавить больше серверов SQL в виртуальный (на одном физическом хосте) без дополнительных затрат на лицензирование, но для получения дополнительной информации ознакомьтесь с техническим документом о виртуальном лицензировании SQL.

Я также согласен с тем, что если у вас не хватает мощности ЦП на 4 виртуальных ЦП, значит, у вас либо серьезное использование приложения, либо команды SQL написаны плохо.

Брет фишер
источник
1
Re: «... или команды SQL написаны плохо.» Это почти гарантировано, когда код поставщика предоставлен.
Skyhawk
Действительно, большая часть трафика базы данных - это материал OLTP из нашей системы ERP. У нас также есть система документооборота от того же поставщика. Собственные вещи, написанные на месте, - это небольшой процент.
Скотт
Наша старая база данных работает максимально на 4 логических ядрах (два двухъядерных процессора), поэтому мы ожидаем, что нам понадобится нечто большее.
Скотт
0

Около 4 ограничений ядра процессора:

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

[процессоры] [тип счета = ”целое число”] 16 [/ счет]

Теперь у вас 16-ядерный процессор.

ОБНОВЛЕНИЕ: кажется скриншот нужен

введите описание изображения здесь

Облако Ним
источник
0

следуйте этому руководству

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

Вы можете найти файл конфигурации vm xml в каталоге «Виртуальные машины» каталога VHD виртуальной машины, файл конфигурации будет назван под идентификатором виртуальной машины. Ниже ссылка является ссылкой.

ссылка: файл конфигурации VM xml

убедитесь, что вы редактируете конфигурационный файл VM xml с помощью notepad / notepad ++, открытого с правами администратора

Shuliyey
источник