Недавно мы приобрели сервер под управлением Hyper-V 2008 R2 с нуля. Сервер имеет два четырехъядерных процессора Intel Xeon с гиперпоточностью, поэтому, если я правильно понимаю, это дает нам 16 ядер. В Hyper-V мы создали виртуальную машину под управлением Windows Server 2008 R2 с 4 виртуальными процессорами. Экран настроек процессора говорит мне, что это составляет 25% от общей вычислительной мощности системы. Означает ли это, что оставшиеся 75% не могут быть задействованы виртуальной ОС? Мы будем использовать несколько других виртуальных машин, но эта предназначена для SQL Server, и мы хотели бы использовать как можно больше лошадиных сил.
14
Ответы:
VCPU может быть сопоставлен только с одним физическим процессором. Вы не можете взять 4 физических процессора и создать один виртуальный ЦП, который в 4 раза быстрее; это просто не так, как это работает.
Hyper-V ограничен назначением 4 виртуальных ЦП виртуальной машине (последнее, что я проверял). Если вам требуется значительная мощность ЦП, если говорить физически, нет смысла добавлять накладные расходы на виртуализацию к чему- то интенсивному ЦП и параллельному в первую очередь.
Кроме того, как отмечает Holocryptic, если вы назначите 4 виртуальных ЦП виртуальной машине, эта виртуальная машина не сможет работать, пока Hyper-V не приобретет 4 физических ядра ЦП для их запуска. В зависимости от вашей конфигурации это может быть основным камнем преткновения (например, если у вас 6-ядерный компьютер с кучей из 4 виртуальных машин vCPU, только одна из них будет работать одновременно, остальные два ядра всегда будут по существу неиспользованными).По словам Джейка Ошинса, это было не так для любой версии Hyper-V. Он заявляет, что Hyper-V не использует планирование банд для ЦП; как почти любой другой гипервизор. Соответственно, если доступно одно физическое ядро ЦП, Hyper-V может использовать его для запуска многопроцессорной виртуальной машины. (Также упоминается, что Hyper-V может не использовать все физические ядра, доступные в то время из-за разделения NUMA)Примечание: SQL не обязательно использует все те ядра, которые вы можете использовать. Это действительно зависит от того, для чего вы его используете и насколько распараллеленна нагрузка.
источник
Да, что сказал Крис. Если вам требуется более 4 процессоров в виртуальной машине Hyper-V, то создайте два виртуальных SQL-сервера и распределите базы данных или перейдите на физический уровень. В зависимости от вашей лицензии на сервер SQL вы можете добавить больше серверов SQL в виртуальный (на одном физическом хосте) без дополнительных затрат на лицензирование, но для получения дополнительной информации ознакомьтесь с техническим документом о виртуальном лицензировании SQL.
Я также согласен с тем, что если у вас не хватает мощности ЦП на 4 виртуальных ЦП, значит, у вас либо серьезное использование приложения, либо команды SQL написаны плохо.
источник
Около 4 ограничений ядра процессора:
В разделе конфигурационного файла виртуальной машины:
[процессоры] [тип счета = ”целое число”] 16 [/ счет]
Теперь у вас 16-ядерный процессор.
ОБНОВЛЕНИЕ: кажется скриншот нужен
источник
следуйте этому руководству
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 ++, открытого с правами администратора
источник