Виртуальная машина потребляет двойной ресурс ЦП в ОС хоста

Я использую Hyper-V в ОС Windows 10 Pro, а виртуальная ОС - это Windows Server 2012. Я использую только одну виртуальную машину за раз, чтобы проверить использование ЦП VPS по отношению к ОС HOST. Примечание : виртуальная машина имеет те же ядра, что и оборудование (без ограничений на какие-либо ресурсы)

Я не знаю, почему загрузка ЦП ОС хоста почти вдвое выше, чем у виртуальной машины.

37 % Cpu in VPS and 69 % Cpu in host os

Как показано на изображении выше , Загрузка ЦП виртуальной машины составляет всего 37%, в то время как использование ЦП хост-системы составляет 68%.

Результат в различных тестах (1 виртуальная машина за раз):

**VM Cpu Usage (%) : Host CPU Usage (%)**
               13% : 35%
               37% : 69%
               50% : 96%

Я также тестировал приведенное выше в VMWare , результат почти такой же.

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

Согласно практическим результатам. Это означает, что я могу использовать только 50% ЦП ОС HOST (аппаратное обеспечение) с помощью Hyper-V или VMWare?

1
задан 15 July 2019 в 12:24
1 ответ

О боже. Понимание использования ЦП - это бит более сложный вопрос, чем просмотр диспетчера задач. Итак, начнем.

В виртуальных средах каждый (v) цикл процессора может (и будет) быть привязан к другому физическому ядру, поэтому отслеживание «ядра» не является допустимой методологией. Еще хуже отследить накопленную сумму. Перестань. Также прекратите использовать все ваши физические ядра 1: 1 в качестве виртуальных ядер, так как это приведет к много чрезмерных расходов с вашего хоста. Делайте это, когда вам это нужно, иначе нет.

Общая загрузка

Загрузка процессора - это в основном требование, разделенное на емкость. Надеюсь, это можно лучше понять на простом примере:

Рассмотрим бутылку с водой объемом 1000 мл, но бутылка заполнена только наполовину (500 мл). Требование для полного наполнения бутылки - еще 500 мл. Итак, утилизация будет: = 500/1000 * 100 = 0,5 * 100 = 50%

«Если бутылка наполовину заполнена, процент использования бутылки составляет 50%»

Общие сведения об использовании ЦП Hyper-V

При запуске виртуальных серверов в Hyper-V часто возникает некоторая путаница, когда определение того, сколько ЦП фактически используется и где.Типичный первый подход - войти на хост Hyper-V и открыть диспетчер задач. Здесь большинство людей удивляются, увидев, что их использование ЦП минимально, несмотря на указание на то, что ЦП виртуальной машины загружен на 100%.

По-настоящему понимание использования виртуального и физического ЦП Hyper-V требует, чтобы мы немного погрузились в теория: количество доступных виртуальных процессоров (емкость) определяется количеством доступных физических ядер. Так, например, если у вас есть сервер с 4 сокетами, где каждый процессор имеет 8 ядер, это будет 32 логических процессора. В результате вы сможете выделить на виртуальном сервере максимум 32 виртуальных процессора. Каждый виртуальный ЦП сопоставляется с физическим ядром (например, через VT). Установка 32% нагрузки на виртуальную машину может отображаться как нагрузка 64% (1% * 32 + резерв + накладные расходы на ядро).

Резерв виртуальной машины (в процентах)

Это резерв, который будет держать хост для этой виртуальной машины. Это процент от объема выделенного системного процессора, поэтому 10% здесь будут 10% от всех 16 ядер. Короче говоря, это много «неиспользуемых, но отмеченных как использованных» запланированного времени ЦП.

Процент общих ресурсов системы - это вычисленное псевдостатическое значение, и в качестве ресурса используется количество выделенных ЦП. . Общий системный процессор / выделенный процессор * Резерв. Например, 16/32 * 10 = 5%

Лимит виртуальных машин (процент) указывает, какой процент каждого ядра может потреблять виртуальная машина, рассчитанный за последние 30 секунд. Этот предел или предел распространяется на все выделенные ЦП.

Процент общих ресурсов системы - это расчетное значение, основанное на количестве выделенных ЦП и установленном максимальном ограничении. Общий системный ЦП / выделенный ЦП * Лимит. В этом случае 16/32 * 90% = 45%

Это будет отображаться в диспетчере задач на хосте. Даже не , что правильно.

Относительный вес используется планировщиком процессора, чтобы определить, какая виртуальная машина получает предпочтение для вызовов ЦП. Виртуальная машина с более высоким весом получит больше процессорного времени, чем аналогичная виртуальная машина с меньшим весом. Это число вводит в заблуждение, поскольку это не процент, а значения должны быть от 0 до 10 000. VMWare называет это «общими ресурсами», и его можно установить в расширенных параметрах для каждой виртуальной машины.

Самый простой способ контролировать «реальные» "Использование ЦП - это посмотреть на консоль управления Hyper-V, не Taskmanager. Столбец использования ЦП отражает общие ресурсы ЦП хоста. Увидеть 10% использования здесь будет равняться 10% на 32 процессорах, или если мы вернем его к количеству ресурсов, выделенных виртуальной машине, то получится 20% на 16 виртуальных процессорах.

Консоль управления Hyper-V великолепна для получения обзора высокого уровня. Но чтобы погрузиться немного глубже и увидеть, какие ядра используются и в каком процессе, нам придется разорвать Perfmon.

0
ответ дан 4 December 2019 в 02:51

Теги

Похожие вопросы