В Диспетчере задач ВМ Azure отображается только половина vCPU

При миграции виртуальных машин (ВМ) в Azure некоторые пользователи сообщали, что видят только половину ожидаемых vCPU в Диспетчере задач, несмотря на то что оборудование и Диспетчер устройств показывают правильное количество ЦП. В этой статье объясняется первопричина проблемы и приводится пошаговое решение, которое было успешно внедрено.


Обзор проблемы

После миграции ВМ размера D4s v4, которая должна иметь 4 vCPU, пользователи наблюдали следующее:

  • Диспетчер устройств правильно показывает 4 ЦП.
  • Диспетчер задач отображает только 2 виртуальных процессора.
  • PowerShell (Get-ComputerInfo) сообщает только о 2 ЦП.

Такое расхождение может вызывать опасения по поводу производительности, поскольку ВМ, по-видимому, не полностью использует выделенные ей ресурсы.


Первопричина

Проблема обычно вызвана тем, что технология Hyper-Threading отключена. Когда технология Hyper-Threading отключена, ВМ использует физические ядра вместо виртуальных, поэтому в Диспетчере задач отображается только половина ожидаемых vCPU.


Решение

Для решения проблемы необходимо внести изменения в реестр Windows необходимы, после чего следует перезагрузить ВМ из портала Azure или через командную строку. Примечание: перезагрузки из гостевой ОС недостаточно для вступления изменений в силу.

Шаги по устранению проблемы

  • Измените ключи реестра
    Выполните следующие команды в командной строке или сеансе PowerShell с повышенными правами:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f 

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
  • Перезагрузите ВМ
    Выполните перезагрузку из портала Azure или с помощью Azure CLI. Например:
az vm restart --name <VM_NAME> --resource-group <RESOURCE_GROUP> 
  • Важно: перезагрузка ВМ из гостевой ОС (например, через меню «Пуск») не применит изменения.

Проверка

После выполнения описанных выше действий:

  • Откройте Диспетчер задач и убедитесь, что отображается правильное количество vCPU.
  • Используйте PowerShell, чтобы подтвердить количество ЦП:(Get-ComputerInfo).CsProcessors

Проблема должна быть решена, и ВМ будет использовать все выделенные ей ресурсы.


Дополнительные примечания

  • Это решение было успешно протестировано и внедрено командой поддержки Azure.
  • Если технология Hyper-Threading была намеренно отключена для определённых рабочих нагрузок, проконсультируйтесь со своей командой, прежде чем применять это решение.

Заключение

Это изменение реестра устраняет проблему, из-за которой в Диспетчере задач ВМ Azure отображается только половина vCPU. Правильная настройка и перезагрузка ВМ из портала Azure критически важны для вступления исправления в силу. Следуя этим шагам, пользователи смогут полностью использовать выделенные ресурсы ВМ и избежать узких мест производительности.

Оставить комментарий