Недавно я заметил виртуальную машину Hyper-V со стабильно высокой загрузкой ЦП. Это терминальный сервер, в который одновременно входят несколько человек, каждый из которых запускает по несколько приложений. Я увеличил количество ядер виртуальной машины, и, как и ожидалось, это помогло.
Однако, когда общая загрузка ЦП для этой виртуальной машины превышает 90%, использование на хост-сервере с Hyper-V не превышает 20%. И это при запуске нескольких других виртуальных машин.
Физический сервер имеет шесть ядер с включенной гиперпоточностью. Насколько я могу судить, ядра виртуальных машин не коррелируют с реальными физическими ядрами на хосте. Итак, если у хоста осталось намного больше мощности ЦП, могу / должен ли я продолжать добавлять больше ядер к виртуальной машине, даже превышая количество физических ядер?
Хост имеет шесть ядер с включенной гиперпоточностью. Оптимально ли настроить эту виртуальную машину на 12 ядер? Как мне лучше понять здесь оптимальную стратегию?
С включенной гиперпоточностью ваш хост имеет 12 логических ядер. Распределение ресурсов является динамическим, поэтому другие ваши виртуальные машины могут по-прежнему использовать доступные ресурсы ЦП на вашем хосте, в то время как вашему терминальному серверу выделено 12 ЦП, однако я бы этого не делал. В качестве альтернативы вы можете зарезервировать, скажем, 6 процессоров для вашего терминального сервера и посмотреть, поможет ли это. Проверьте дополнительную информацию: https://www.hyper-v.io/several-tips-hints-full-throttle-hyper-v-performance/