我正在开发一个可以监控虚拟机 vgpu 使用情况的项目。虚拟机管理程序是vCenter
,我们在 vCenter 主机上安装了 nvidia A16 卡,并将 a16 vGPU 分配给此主机上的几个 Windows VM,这些 vGPU 分配给同一个 GPU 芯片。
我尝试使用nvidia-smi
命令来检索主机和虚拟机中的 vGPU 使用情况。在主机中我使用了nvidia-smi vgpu
,在虚拟机中我使用了nvdia-smi
。但事实证明,nvidia-smi 提供的指标始终与虚拟机中 Windows 操作系统提供的指标不同。
例如,使用量nvidia-smi
可能低至6%,但 Windows 任务管理器的使用始终存在15%。
我们更愿意相信客户操作系统提供的指标,因为它反映了用户案例的真实需求。
我的问题是,nvidia-smi 指标的含义和来源是什么?为什么结果如此不同?我可以以某种方式修改结果以反映真正的客户需求吗?
谢谢您的指点!
答案1
任务管理器和 nvidia-smi 测量的时间段和/或时间点可能不同,从而导致使用百分比不同。
根据文档
利用率.gpu
过去采样周期内一个或多个内核在 GPU 上执行的时间百分比。采样周期可能介于 1 秒到 1/6 秒之间,具体取决于产品。
内存利用率
过去采样周期内读取或写入全局(设备)内存的时间百分比。采样周期可能介于 1 秒和 1/6 秒之间,具体取决于产品。
尝试恒定的不变化的负载,然后测量它们是否匹配。