Я работаю над проектом, который может отслеживать использование vgpu виртуальных машин. Гипервизор — это vCenter
, у нас есть карты nvidia A16, установленные на хостах vCenter, и назначены vGPU 16 нескольким виртуальным машинам Windows на этом хосте, эти 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 секунды в зависимости от продукта.
Попробуйте постоянную неизменную нагрузку и измерьте, совпадают ли они.