AWS G5.2xlarge实例首次运行NV_ENC编码性能低下问题排查
问题描述
此问题已在AWS相关论坛交叉发帖,若重复看到敬请谅解。
- 我有一款Windows应用,功能是将DirectX 3D渲染的内容,通过编译进应用的FFMPEG
h264_nvenc编码器编码后,再通过WebRTC进行交互式流传输。 - 当前通过启动脚本
.bat中的timeout命令,设置实例启动2分钟后再运行应用。 - 使用
g5.2xlarge实例(搭载A10G GPU)时,首次启动应用的编码帧率始终很低(低于10FPS);但重启应用后,编码帧率可升至29-30FPS左右。 - 两次启动应用均能正常识别编码器,通过
nvidia-smi encodersessions验证:首次运行编码帧率为9FPS,重启后跃升至29-30FPS;且所有情况下,nvidia-smi均显示应用正在使用GPU。 - 更换为
g4dn.2xlarge实例(搭载T4 GPU)时,应用首次运行的编码帧率就符合预期。 - 曾尝试在启动脚本中每5秒检测一次
nvidia-smi,待其返回成功后再启动应用(因为过早登录实例时,nvidia-smi会返回代码"9",表示驱动尚未加载),但日志显示未通过Fleet Manager远程桌面登录实例时,nvidia-smi首次调用就返回0,问题仍未解决。
补充编辑
- 后续修改应用,添加命令行参数使其仅编码指定数量的生成帧后退出,并在正式启动前运行四次该模式,但正式启动时编码性能仍很差。
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

