146
HyperV虚拟机使用物理机显卡直通共享-说明

接上文:

HyperV虚拟机使用物理机显卡直通共享

以前RemoteFx vGPU还是挺方便用的,直接通过GUI界面操作也很简单容易上手,但现在微软已抛弃RemoteFx,改用DDA。

早期DDA只有独占模式,后期DDA才有了共享模式,我上篇文章采用的就是DDA共享模式。也就是说物理机上一块显卡,可以带动N个虚拟机一起共享使用,提高资源利用率。

使用DDA也需要一定条件的:

1,物理机需要支持SR-IOV/IOMMU(主板BIOS有相关设置)

2,显卡驱动需要支持WDDM2.4以上版本“基于IOMMU的GPU隔离(可以通过dxdiag查看驱动支持的WDDM版本)

3,物理机需要高版本的Hyper-V,也就是系统版本要高一些。

4,虚拟机和宿主机的系统版本需要一致,同时必须从宿主机提取显卡驱动程序到虚拟机。如果宿主机升级了驱动程序,那么虚拟机必须也跟着升级。

5,涉及到显存分配操作,所以虚拟机的检查点,自动停止,保存状态这些都不可用。

6,由于虚拟机操作显卡,所以系统的存在着不稳定的可能性,或者是因为驱动BUG等原因,造成系统整体稳定性下降的情况。经过实测,虚拟机死机并不会对宿主机造成影响。

7,可以使用 命令来查看宿主机显卡的参数,根据查询到的信息再去修改分配给虚拟机的参数

Get-VMHostPartitionableGpu

比如查询到的参数是

PartitionCount          : 32
TotalVRAM               : 1000000000
AvailableVRAM           : 1000000000
MinPartitionVRAM        : 0
MaxPartitionVRAM        : 1000000000
OptimalPartitionVRAM    : 1000000000
TotalEncode             : 18446744073709551615
AvailableEncode         : 18446744073709551615
MinPartitionEncode      : 0
MaxPartitionEncode      : 18446744073709551615
OptimalPartitionEncode  : 18446744073709551615
TotalDecode             : 1000000000
AvailableDecode         : 1000000000
MinPartitionDecode      : 0
MaxPartitionDecode      : 1000000000
OptimalPartitionDecode  : 1000000000
TotalCompute            : 1000000000
AvailableCompute        : 1000000000
MinPartitionCompute     : 0
MaxPartitionCompute     : 1000000000
OptimalPartitionCompute : 1000000000

那么可以按照这个参数分配给虚拟机 比如 : 下面这行命令,虚拟机的名字是"3DDisplay"

Set-VMGpuPartitionAdapter -VMName 3DDisplay 
  -MinPartitionVRAM 0 -MaxPartitionVRAM 1000000000 -OptimalPartitionVRAM 1000000000 
  -MinPartitionEncode 0 -MaxPartitionEncode 18446744073709551615 -OptimalPartitionEncode 18446744073709551615 
  -MinPartitionDecode 0 -MaxPartitionDecode 1000000000 -OptimalPartitionDecode 1000000000 
  -MinPartitionCompute 0 -MaxPartitionCompute 1000000000 -OptimalPartitionCompute 1000000000


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!