Почему мой HP Proliant DL380 G6 использует только 6 из 12 физических ядер, когда моя виртуальная машина HyperV находится под нагрузкой?

Почему мой HP Proliant DL380 G6 использует только 6 из 12 физических ядер, когда моя виртуальная машина HyperV находится под нагрузкой?

Когда моя виртуальная машина HyperV (работающая под управлением Ubuntu 20.04) находится под нагрузкой на моем HP Proliant DL380 G6 (работающая под управлением Windows Server 2016), используются только 6 из 12 физических ядер, т. е. используется только 1 из 2 ЦП. Ниже приведен снимок экрана моего диспетчера задач.

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

Это подтверждается ILO (ниже), поскольку только процессор 2 переходит в состояние питания P1.

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

Моя виртуальная машина HyperV — единственная виртуальная машина на моей машине, и я предоставил ей 24 виртуальных процесса (по одному на каждое логическое ядро, поскольку мой сервер имеет 12 физических ядер и 24 логических ядра). Ниже представлен снимок экрана с настройками процессора для моей виртуальной машины HyperV.

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

Я хочу, чтобы моя HyperV VM использовала все 12 физических ядер. Как мне этого добиться и почему VM не использует все доступные ей ядра?

Обратите внимание, что при запуске многопоточной рабочей нагрузки на хосте все 12 физических ядер используются, как и ожидалось (как показано ниже).

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

решение1

Я вспомнил, что у моей виртуальной машины включена «Динамическая память», поэтому я попробовал запустить виртуальную машину с выключенной «Динамической памятью». После стресс-теста виртуальной машины все 12 физических ядер загорелись. Буду рад, если кто-нибудь дополнит этот ответ, объяснив, почему это решило мою проблему.

Связанный контент