PVE 下核显开启 sriov 后,多个虚拟机不能同时用核显么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
zer
V2EX    NAS

PVE 下核显开启 sriov 后,多个虚拟机不能同时用核显么?

  •  
  •   zer307 天前 2593 次点击
    这是一个创建于 307 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先说下虚拟机的配置

    虚拟机 1 是 Win11 ,用虚拟屏幕开了 sunshine 串流
    虚拟机 2 是 Ubuntu ,Docker 里安装了 Jellyfin ,可以转码视频
    2 台虚拟机都是 ovmf(uefi)+i440fx ,并且添加了不一样的 sriov 核显。

    以上 2 个虚拟机单独使用是没问题的,问题表现为:

    • 先转码后串流,一旦 Jellyfin 开转码,Win11 就无法串流。
    • 先串流后转码,此时通过 moonlight 串流的 Win11 屏幕冻住,无法操作。

    我观察转码时,显示的核显负载也不高。但此时 Win11 串流就是不行(转圈圈、屏幕卡死),sunshine 的 troubleshooting 也看不到报错。求教有遇到过此类问题的朋友,如何解决该问题?

    intel_gpu_top -d sriov 

    Imgur

    第 1 条附言    306 天前
    https://github.com/strongtz/i915-sriov-dkms/issues/254#issuecomment-2655468421
    我按照这个 issue 里的方法,给 Jellyfin 指定了个自定义的 ffmpeg 脚本,加上了 `-readrate 2` 的参数。
    现在 jellyfin 转码性能虽然下降到了 50fps ,但是同时开着的 sunshine 串流不会卡死了,处于可用的状态。
    算是暂时解决了此问题吧
    11 条回复    2025-02-13 14:07:30 +08:00
    ericww
        1
    ericww  
       307 天前 via iPhone
    alderlake-s 的编码器和视频增强单元的调度都是独占的,不是时间分片。同时只能被一个 vm 调用。
    esee
        2
    esee  
       307 天前 via Android
    @ericww 还有这种说法呀
    zer
        3
    zer  
    OP
       307 天前
    @ericww 和处理器内置的 Multi-Format Codec Engines 数量有关么?如果使用 UHD770 的 CPU ,内置 2 个 Multi-Format Codec Engines ,是不是可以同时并发 2 个转码调度
    ericww
        4
    ericww  
       307 天前 via iPhone
    @zer 具体要看任务,优先级是解码>编码>处理,gen12 是 2 个编解码和 1 个视频增强,jellyfin 一个任务就占用两个编解码了,其他就只能等待任务结束。
    iamqk
        5
    iamqk  
       307 天前
    实测 N150 上跑了 6 个 win10 ,都是 sriov 的核显。就开了两个远程 win10 ,edge 开了 b 站,可以同时解码视频
    zer
        6
    zer  
    OP
    &nbp;  307 天前
    @iamqk 你使用 rdp 远程的吗?能否试试用 sunshine 远程,看下 2 个以上能不能同时串流
    iamqk
        7
    iamqk  
       307 天前
    @zer 你这个可能需要编码吧,我那个是纯解码
    wuyadaxian
        8
    wuyadaxian  
       307 天前
    Jellyfin 转码问题,转码时独占 gpu 的 encode 和 decode 。
    导致其他需要用 gpu 的机器被中断冻结。
    实测 7 台 win11 虚拟机能同时使用 gpu 资源,同时看 youtube ,gpu 解码。
    wuyadaxian
        9
    wuyadaxian  
       307 天前   1
    @zer 可以,这边 windows11 ,7 台虚拟机。可以同时处理。12700 核显。
    parsec 远程( h.264 or h.265 视频流),gpu 编码。
    +虚拟机内 youtube 视频,gpu 解码。
    wuyadaxian
        10
    wuyadaxian  
       306 天前
    我查看了一下资料,发现不仅是 Jellyfin ,所有的媒体服务器包括 plex/emby 都会出现 op 的这个问题。

    我一开始怀疑是 encode 和 decode 并发的问题。
    我们知道 nvidna 的消费级显卡有 NVENC encoding sessions 的限制,3 个/5 个/8 个。

    查了一下 intel gpu 的情况。there is no concurrent encoding sessions limit on Intel iGPU and ARC dGPU.
    intel 显卡并没有并发限制。

    那么可能就是 QSV ,VA-API 等驱动问题。
    不过我最近没有时间研究。op 如果有兴趣可以去查查相关的代码。
    zer
        11
    zer  
    OP
       306 天前   1
    @wuyadaxian https://github.com/strongtz/i915-sriov-dkms/issues/254#issuecomment-2655468421
    我按照这个 issue 里的方法,给 Jellyfin 指定了个自定义的 ffmpeg 脚本,加上了 `-readrate 2` 的参数。
    现在 jellyfin 转码性能虽然下降到了 50fps ,但是同时开着的 sunshine 串流不会卡死了,处于可用的状态。
    算是暂时解决了此问题吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4422 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:02 PVG 12:02 LAX 20:02 JFK 23:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86