DDA(Discrete Device Assignment)是 Microsoft Hyper-V 的一项高级功能,它允许将物理硬件设备(如 GPU、网卡或 NVMe 驱动器)直接分配给虚拟机。这种分配方式绕过了 Hyper-V 的虚拟化层,使虚拟机能够直接访问设备的硬件资源,从而提供接近物理机的性能。
[DDA]的官方直译为离散设备分配
前置要求
1、hyper-v虚拟机系统要和宿主机保持一致 win10 、win11
2、第二代虚拟机、关闭动态内存、关闭检查点
3、物理机需要支持SR-IOV,在主板BIOS中可以通过搜索SR-IOV,并打开SR-IOV。
4、物理机需要CPU支持IOMMU,Inter的cpu 需要在bios里开启VT-x,Amd的cpu需要在bios里 开启 AMD-V。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| ## 虚拟机名称 $vm = "win11"
## 添加 GPU 分区适配器。允许虚拟机使用物理主机 GPU 的一部分资源。 ## 使虚拟机能够共享主机 GPU 的计算和图形处理能力。 适用于需要 GPU 加速的应用场景,例如视频解码、图形渲染、AI 模型训练等。 Add-VMGpuPartitionAdapter -VMName $vm ## 允许客户操作系统控制缓存类型,这有助于优化虚拟机的运行效率。 Set-VM -GuestControlledCacheTypes $true -VMName $vm
## 将虚拟机的低内存映射 I/O 空间设置为 1GB。 Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
## 将虚拟机的高内存映射 I/O 空间设置为 32GB。 Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
## 移除 GPU 分区适配器 从虚拟机中移除 GPU 分区适配器,停止虚拟机对物理主机 GPU 的访问。 ## 释放 GPU 资源:物理主机的 GPU 资源可以被其他虚拟机或应用使用。 ## 恢复到无 GPU 加速状态:虚拟机将回归到纯 CPU 渲染模式。 Remove-VMGpuPartitionAdapter -VMName $vm
## 显示esx主机信息列表 Get-VMHost | fl
## 获取可分区 GPU 列表 列出当前主机中支持 GPU 分区的 GPU 设备。 Get-VMHostPartitionableGpu
## 查询虚拟机的基本信息 Get-VM -Name $vm
## 查看特定虚拟机的详细信息 Get-VM -Name $vm | Format-List *
## 查看虚拟机的磁盘配置 Get-VMHardDiskDrive -VMName $vm
## 查看虚拟机的网络配置 Get-VMNetworkAdapter -VMName $vm
## 查看虚拟机的实时性能 Measure-VM -VMName $vm
## 在已添加 GPU 分区适配器的虚拟机中,可以通过以下命令查看当前的 GPU 分区配置: Get-VMGpuPartitionAdapter -VMName $vm
## 用于获取指定虚拟机的处理器(CPU)设置和配置。 Get-VMProcessor -VMName $vm | fl
## 启用嵌套虚拟化: Set-VMProcessor -VMName $vm -ExposeVirtualizationExtensions $true
## Hyper-V 虚拟机配置 GPU 分区时的高级设置,具体是调整分配给虚拟机的 GPU 资源(如显存、编码、解码和计算能力)的最低、最高和最佳值。 Set-VMGpuPartitionAdapter -VMName $vm ` -MinPartitionVRAM 512MB -MaxPartitionVRAM 2GB -OptimalPartitionVRAM 1GB ` -MinPartitionEncode 256MB -MaxPartitionEncode 1GB -OptimalPartitionEncode 512MB ` -MinPartitionDecode 256MB -MaxPartitionDecode 1GB -OptimalPartitionDecode 512MB ` -MinPartitionCompute 256MB -MaxPartitionCompute 1GB -OptimalPartitionCompute 512MB
## 设备管理器中可查看 显卡驱动具体目录 或运行 dxdiag 导出所有信息 ## copy宿主机下信息,复制到虚拟机对应目录中 C:\Windows\System32\DriverStore\FileRepository\nvcvi.inf_amd64_116d714430800ce5 C:\Windows\System32\nvapi64.dll
##对应虚拟机目录 C:\Windows\System32\HostDriverStore\FileRepository\ C:\Windows\System32\nvapi64.dll
|