Estoy trabajando en un proyecto que puede monitorear el uso de vgpu de las máquinas virtuales. El hipervisor es vCenter
: tenemos tarjetas nvidia A16 instaladas en hosts vCenter y asignamos una vGPU de 16 a un par de máquinas virtuales de Windows en este host; estas vGPU están asignadas al mismo chip de GPU.
Intenté usar nvidia-smi
el comando para recuperar el uso de vGPU tanto en el host como en las máquinas virtuales. En el host usé nvidia-smi vgpu
y en las máquinas virtuales usé nvdia-smi
. Pero resultó que las métricas proporcionadas por nvidia-smi siempre fueron diferentes de las proporcionadas por el sistema operativo Windows en VM.
Por ejemplo, el uso de nvidia-smi
podría ser tan bajo como6%, pero el uso del administrador de tareas de Windows siempre estuvo presente15%.
Preferimos confiar en las métricas proporcionadas por el sistema operativo invitado, ya que reflejan la demanda real del caso de usuario.
Mi pregunta es, ¿cuál es el significado y la fuente de las métricas de nvidia-smi? ¿Por qué el resultado es tan diferente? ¿Puedo modificar de alguna manera el resultado para reflejar la demanda real de los huéspedes?
¡Gracias por cualquier consejo!
Respuesta1
Los períodos y/o puntos de tiempo durante/en los cuales el Administrador de tareas y nvidia-smi miden pueden ser diferentes, lo que conduce a diferentes porcentajes de uso.
Según eldocumentación
utilización.gpu
Porcentaje de tiempo durante el último período de muestra durante el cual uno o más núcleos se ejecutaron en la GPU. El período de muestra puede estar entre 1 segundo y 1/6 de segundo dependiendo del producto.
utilización.memoria
Porcentaje de tiempo durante el último período de muestra durante el cual se leyó o escribió la memoria global (del dispositivo). El período de muestra puede estar entre 1 segundo y 1/6 de segundo dependiendo del producto.
Pruebe con una carga constante que no cambie y mida si coinciden.