使用 RemoteFX vGPU 部署图形设备

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016、Microsoft Hyper-V Server 2016

注意

出于安全方面的考虑,从 2020 年 7 月 14 日的安全更新开始,所有版本的 Windows 都默认禁用 RemoteFX vGPU,从 2021 年 4 月 13 日的安全更新开始,默认删除了 RemoteFX vGPU。 要了解详细信息,请参阅 KB 4570006

适用于 RemoteFX 的 vGPU 功能使多个虚拟机可以共享物理 GPU。 渲染和计算资源在虚拟机之间动态共享,RemoteFX VGPU 适用于不需要专用 GPU 资源的高突发工作负荷。 例如,在 VDI 服务中,RemoteFX vGPU 将应用渲染成本卸载到 GPU,从而降低 CPU 负载并改进服务可伸缩性。

RemoteFX vGPU 要求

主机系统要求:

  • Windows Server 2016
  • 具有 WDDM 1.2 兼容驱动程序的 DirectX 11.0 兼容 GPU
  • 具有二级地址转换的 CPU (SLAT) 支持

来宾 VM 要求:

来宾 VM 的其他注意事项:

  • OpenGL 和 OpenCL 功能仅适用于运行 Windows 10 或 Windows Server 2016。
  • DirectX 11.0 仅适用于运行 Windows 8 或更高版本的来宾。

启用 RemoteFX vGPU

若要在 RemoteFX主机上配置 vGPU,Windows Server 2016:

  1. 安装 GPU 供应商推荐的图形驱动程序Windows Server 2016。
  2. 创建运行 vGPU 支持的来宾 OS RemoteFX VM。 有关详细信息,请参阅 vGPU RemoteFX 3D (适配器) 支持
  3. 将 RemoteFX 3D 图形适配器添加到 VM。 若要了解有关详细信息,请参阅配置 RemoteFX vGPU 3D 适配器

默认情况下,RemoteFX vGPU 将使用所有可用和支持的 GPU。 若要限制 vGPU RemoteFX GPU,请执行以下步骤:

  1. 导航到 Hyp​​er-V 管理器中的 Hyper-V 设置。
  2. 选择Hyper-V虚拟机中的物理 GPU 设置。
  3. 选择不想使用的 GPU,然后清除“将此 GPU 用于 RemoteFX”

配置 RemoteFX vGPU 3D 适配器

可以使用 Hyper-V 管理器 UI 或 PowerShell cmdlet 来配置 RemoteFX vGPU 3D 图形适配器。

配置RemoteFX Hyper-V 管理器的 vGPU

  1. 如果 VM 当前正在运行,请停止它。

  2. 打开 Hyper-V 管理器,导航到VM 设置,然后选择"添加硬件"。

  3. 选择RemoteFX 3D 图形适配器",然后选择"添加"。

  4. 设置最大监视器数、最大监视器分辨率和专用视频内存,或保留默认值。

    注意

    • 为这些选项中的任意选项设置较高的值会影响服务规模,因此应仅设置所需的值。
    • 当需要使用 1 GB 的专用 VRAM 时,请使用 64 位来宾 VM 而不是 32 位 (x86) 获得最佳结果。
  5. 选择 " 确定"完成配置。

使用 PowerShell cmdlet RemoteFX vGPU

使用以下 PowerShell cmdlet 添加、查看和配置适配器:

监视性能

启用 RemoteFX vGPU 的服务的性能和规模由多种因素决定,例如系统上的 GPU 数量、GPU 内存总量、系统内存和内存速度、CPU 核心数和 CPU 时钟频率、存储速度和 NUMA 实现。

主机系统内存

对于使用 vGPU 启用的每一个 VM,RemoteFX在来宾操作系统和主机服务器中都使用系统内存。 虚拟机监控程序保证来宾操作系统的系统内存的可用性。 在主机上,每个启用了 vGPU 的虚拟桌面都需要将系统内存要求播发到虚拟机监控程序。 启用 vGPU 的虚拟桌面启动时,虚拟机监控程序在主机中保留额外的系统内存。

启用 RemoteFX 的服务器的内存需求是动态的,因为已启用 RemoteFX 的服务器上消耗的内存量取决于与已启用 vGPU 的虚拟桌面关联的监视器数量以及这些监视器的最大分辨率。

主机 GPU 视频内存

每个启用了 vGPU 的虚拟桌面都使用主机服务器上 GPU 硬件视频内存来呈现桌面。 此外,编解码器使用视频内存来压缩呈现的屏幕。 呈现和压缩所需的内存量直接取决于预配到虚拟机的监视器数。 保留的视频内存量因系统屏幕分辨率和监视器数量而异。 某些用户需要对特定任务使用更高的屏幕分辨率,但如果所有其他设置保持不变,则分辨率设置越小,可伸缩性越高。

主机 CPU

虚拟机监控程序在 CPU 上计划主机和 VM。 启用 vGPU 的主机RemoteFX开销增加,因为系统会运行一个额外的进程 (rdvgm.exe) 每个已启用 vGPU 的虚拟桌面。 此过程使用图形设备驱动程序在 GPU 上运行命令。 编解码器还使用 CPU 压缩需要发送回客户端的屏幕数据。

更多的虚拟处理器意味着更好的用户体验。 建议每个已启用 vGPU 的虚拟桌面至少分配两个虚拟 CPU。 我们还建议对启用了 vGPU 的虚拟桌面使用 x64 体系结构,因为 x64 虚拟机的性能优于 x86 虚拟机。

GPU 处理能力

每个启用了 vGPU 的虚拟桌面都有一个在主机服务器上运行的相应 DirectX 进程。 此过程会从虚拟桌面的虚拟桌面RemoteFX所有图形命令重播到物理 GPU。 这就像在同一物理 GPU 上同时运行多个 DirectX 应用程序一样。

通常,图形设备和驱动程序经过优化,一次在桌面上仅运行几个应用程序,RemoteFX GPU 以进一步延伸。 vGPUs 提供性能计数器,用于测量 GPU RemoteFX请求的响应,并帮助确保 GPU 不会拉伸过长。

当 GPU 资源不足时,读取和写入操作需要很长时间才能完成。 管理员可以使用性能计数器来了解何时调整资源并防止用户停机。

在诊断远程桌面 中的图形性能问题RemoteFX监视 vGPU行为的性能计数器