Solo se muestra la mitad de las vCPU en el Administrador de tareas de las VM de Azure

Al migrar máquinas virtuales (VM) a Azure, algunos usuarios han informado de que solo ven la mitad de las vCPU esperadas en el Administrador de tareas, a pesar de que el hardware y el administrador de dispositivos muestran el número correcto de CPU. Este artículo explica la causa raíz del problema y ofrece una solución paso a paso que se ha implementado correctamente.


Descripción general del problema

Después de migrar una VM de tamaño D4s v4, que debería tener 4 vCPU, los usuarios observaron lo siguiente:

  • Administrador de dispositivos muestra correctamente 4 CPU.
  • El Administrador de tareas solo muestra 2 procesadores virtuales.
  • PowerShell (Get-ComputerInfo) solo informa de 2 CPU.

Esta discrepancia puede generar problemas de rendimiento, ya que la VM parece estar infrautilizando los recursos asignados.


Causa raíz

Este problema suele deberse a que Hyperthreading está deshabilitado. Cuando Hyperthreading está deshabilitado, la VM utiliza núcleos físicos en lugar de núcleos virtuales, por lo que solo se muestra la mitad de las vCPU esperadas en el Administrador de tareas.


Solución

Para resolver el problema, se requieren modificaciones en el Registro de Windows son necesarias, seguidas de un reinicio de la VM desde el portal de Azure o a través de la línea de comandos. Nota: reiniciar desde el SO invitado no es suficiente para que los cambios surtan efecto.

Pasos para solucionar el problema

  • Modificar las claves del Registro
    Ejecuta los siguientes comandos en una sesión elevada del Símbolo del sistema o de 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
  • Reiniciar la VM
    Realiza el reinicio desde el portal de Azure o usando Azure CLI. Por ejemplo:
az vm restart --name <VM_NAME> --resource-group <RESOURCE_GROUP> 
  • Importante: reiniciar la VM desde el SO invitado (por ejemplo, a través del menú Inicio) no aplicará los cambios.

Verificación

Después de completar los pasos anteriores:

  • Abre el Administrador de tareas y comprueba que se muestra el número correcto de vCPU.
  • Usa PowerShell para confirmar el número de CPU:(Get-ComputerInfo).CsProcessors

El problema debería estar resuelto y la VM utilizará todos los recursos asignados.


Notas adicionales

  • Esta solución fue probada e implementada correctamente por el equipo de soporte de Azure.
  • Si Hyperthreading se deshabilitó deliberadamente para cargas de trabajo específicas, consulta con tu equipo antes de aplicar esta solución.

Conclusión

Esta modificación del Registro resuelve el problema por el que en el Administrador de tareas de las VM de Azure solo se muestra la mitad de las vCPU. Asegurarse de que la configuración sea correcta y reiniciar la VM desde el portal de Azure es fundamental para que la corrección surta efecto. Siguiendo estos pasos, los usuarios pueden aprovechar al máximo los recursos asignados a la VM y evitar cuellos de botella de rendimiento.

Deja un comentario