Implementar dispositivos gráficos con RemoteFX vGPU

Se aplica a: Windows Server 2016, Microsoft Hyper-V Server 2016

Nota

Debido a problemas de seguridad, RemoteFX vGPU está deshabilitado de forma predeterminada en todas las versiones de Windows a partir de la actualización de seguridad del 14 de julio de 2020 y se quita a partir de la actualización de seguridad del 13 de abril de 2021. Para obtener más información, consulte KB 4570006.

La característica vGPU para RemoteFX permite que varias máquinas virtuales compartan una GPU física. Los recursos de representación y proceso se comparten dinámicamente entre máquinas virtuales, lo que hace que La vGPU de RemoteFX sea adecuada para cargas de trabajo de ráfaga alta en las que no se necesitan recursos de GPU dedicados. Por ejemplo, en un servicio VDI, se puede usar RemoteFX vGPU para descargar los costos de representación de aplicaciones en la GPU, con el efecto de reducir la carga de CPU y mejorar la escalabilidad del servicio.

Requisitos de RemoteFX vGPU

Requisitos del sistema host:

  • Windows Server 2016
  • Una GPU compatible con DirectX 11.0 con un controlador compatible con WDDM 1.2
  • Una CPU con compatibilidad con traducción de direcciones de segundo nivel (SLAT)

Requisitos de la máquina virtual invitada:

  • SO invitado compatible. Para obtener más información, vea Compatibilidad con el adaptador de vídeo 3D (vGPU) de RemoteFX.

Consideraciones adicionales de las máquinas virtuales invitadas:

  • La funcionalidad OpenGL y OpenCL solo está disponible en invitados que ejecutan Windows 10 o Windows Server 2016.
  • DirectX 11.0 solo está disponible para los invitados que ejecutan Windows 8 o posterior.

Habilitación de RemoteFX vGPU

Para configurar RemoteFX vGPU en el host de Windows Server 2016:

  1. Instale los controladores de gráficos recomendados por el proveedor de GPU para Windows Server 2016.
  2. Cree una máquina virtual que ejecute un sistema operativo invitado compatible con RemoteFX vGPU. Para más información, consulte Compatibilidad con el adaptador de vídeo 3D (vGPU) de RemoteFX.
  3. Agregue el adaptador de gráficos 3D de RemoteFX a la máquina virtual. Para más información, consulte Configuración del adaptador 3D de RemoteFX vGPU.

De forma predeterminada, RemoteFX vGPU usará todas las GPU disponibles y compatibles. Para limitar qué GPU usa la vGPU de RemoteFX, siga estos pasos:

  1. Ve a la configuración de Hyper-V en el Administrador de Hyper-V.
  2. Seleccione GPU físicas en Configuración de Hyper-V.
  3. Selecciona la GPU que no quieres usar y, a continuación, desactiva Usar esta GPU con RemoteFX.

Configuración de la tarjeta gráfica 3D de RemoteFX vGPU

Puedes usar cmdlets de la interfaz de usuario del Administrador de Hyper-V o de PowerShell para configurar la tarjeta gráfica 3D de RemoteFX vGPU.

Configuración de RemoteFX vGPU con el Administrador de Hyper-V

  1. Detenga la máquina virtual si se está ejecutando actualmente.

  2. Abra el Administrador de Hyper-V, vaya a Configuración de máquina virtual y seleccione Agregar hardware.

  3. Seleccione RemoteFX 3D Graphics Adapter (Adaptador de gráficos 3D de RemoteFX) y, a continuación, seleccione Agregar.

  4. Establece el número máximo de monitores, la resolución máxima de monitor y la memoria de vídeo dedicada, o bien, deja los valores predeterminados.

    Nota

    • Establecer valores más altos para cualquiera de estas opciones afectará a la escala del servicio, por lo que solo debe establecer lo que sea necesario.
    • Cuando necesite usar 1 GB de VRAM dedicada, use una máquina virtual invitada de 64 bits en lugar de 32 bits (x86) para obtener los mejores resultados.
  5. Seleccione Aceptar para finalizar la configuración.

Configuración de RemoteFX vGPU con cmdlets de PowerShell

Use los siguientes cmdlets de PowerShell para agregar, revisar y configurar el adaptador:

Supervisión del rendimiento

El rendimiento y la escala de un servicio habilitado para vGPU de RemoteFX están determinados por diversos factores, como el número de GPU en el sistema, la memoria total de GPU, la cantidad de memoria del sistema y la velocidad de memoria, el número de núcleos de CPU y la frecuencia del reloj de CPU, la velocidad de almacenamiento y la implementación de NUMA.

Memoria del sistema host

Para cada máquina virtual habilitada con una vGPU, RemoteFX usa memoria del sistema tanto en el sistema operativo invitado como en el servidor host. El hipervisor garantiza la disponibilidad de la memoria del sistema para un sistema operativo invitado. En el host, cada escritorio virtual habilitado para vGPU debe anunciar su requisito de memoria del sistema al hipervisor. Cuando se inicia el escritorio virtual habilitado para vGPU, el hipervisor reserva memoria del sistema adicional en el host.

El requisito de memoria para el servidor habilitado para RemoteFX es dinámico porque la cantidad de memoria consumida en el servidor habilitado para RemoteFX depende del número de monitores asociados a los escritorios virtuales habilitados para vGPU y de la resolución máxima para esos monitores.

Memoria de vídeo de GPU de host

Cada escritorio virtual habilitado para vGPU usa la memoria de vídeo de hardware de GPU en el servidor host para representar el escritorio. Además, un códec usa la memoria de vídeo para comprimir la pantalla que se representa. La cantidad de memoria necesaria para la representación y compresión se basa directamente en el número de monitores aprovisionados en la máquina virtual. La cantidad de memoria de vídeo reservada varía en función de la resolución de pantalla del sistema y del número de monitores que haya. Algunos usuarios requieren una resolución de pantalla mayor para tareas específicas, pero hay una mayor escalabilidad con una configuración de resolución más baja si todas las demás opciones siguen siendo constantes.

Host CPU

El hipervisor programa el host y las máquinas virtuales en la CPU. La sobrecarga aumenta en un host habilitado para RemoteFX porque el sistema ejecuta un proceso adicional (rdvgm.exe) por escritorio virtual habilitado para vGPU. Este proceso usa el controlador de dispositivo gráfico para ejecutar comandos en la GPU. El códec también usa la CPU para comprimir los datos de pantalla que deben devolverse al cliente.

Más procesadores virtuales significan una mejor experiencia de usuario. Se recomienda asignar al menos dos CPU virtuales por escritorio virtual habilitado para vGPU. También se recomienda usar la arquitectura x64 para escritorios virtuales habilitados para vGPU porque el rendimiento de las máquinas virtuales x64 es mejor en comparación con las máquinas virtuales x86.

Potencia de procesamiento de GPU

Cada escritorio virtual habilitado para vGPU tiene un proceso de DirectX correspondiente que se ejecuta en el servidor host. Este proceso reproduce todos los comandos gráficos que recibe del escritorio virtual RemoteFX en la GPU física. Esto es como ejecutar varias aplicaciones DirectX al mismo tiempo en la misma GPU física.

Normalmente, los dispositivos gráficos y los controladores están optimizados para ejecutar solo algunas aplicaciones en el escritorio a la vez, pero RemoteFX extiende las GPU para ir más allá. Las vGPU incluyen contadores de rendimiento que miden la respuesta de GPU a las solicitudes de RemoteFX y le ayudan a asegurarse de que las GPU no se extienden demasiado.

Cuando una GPU tiene pocos recursos, las operaciones de lectura y escritura llevan mucho tiempo en completarse. Los administradores pueden usar contadores de rendimiento para saber cuándo ajustar los recursos y evitar el tiempo de inactividad de los usuarios.

Obtenga más información sobre los contadores de rendimiento para supervisar el comportamiento de RemoteFX vGPU en Diagnóstico deproblemas de rendimiento de gráficos Escritorio remoto .