Метрики дашборда NVIDIA DCGM без MIG
Дашборд NVIDIA DCGM без MIG в Grafana предоставляет комплексный мониторинг графических ускорителей NVIDIA без поддержки Multi-Instance GPU (MIG) в кластере Kubernetes. Дашборд содержит метрики производительности, температуры, энергопотребления, загрузки GPU, использования памяти и расширенные метрики для анализа эффективности и здоровья GPU.
Чтобы открыть дашборд:
- Откройте Grafana.
- В списке дашбордов выберите NVIDIA DCGM Dashboard w/o MIG metrics.
Откроется дашборд мониторинга GPU без MIG.
Общая информация
Название дашборда: NVIDIA DCGM Dashboard w/o MIG metrics
UID: gpu-wo-mig
Интервал обновления: 30 секунд
Источник данных: Prometheus
Переменные дашборда
Дашборд использует следующие переменные для фильтрации данных:
- DS_PROMETHEUS — источник данных Prometheus;
- Hostname — выбор конкретного хоста или всех хостов (поддерживается множественный выбор, по умолчанию выбраны все);
- gpu — выбор конкретного GPU по ID или всех GPU (поддерживается множественный выбор, по умолчанию выбраны все).
Панели и метрики
Раздел Aggregate
Раздел содержит агрегированные метрики по всем выбранным GPU.
1. GPU Engine Utilization
Описание: Средняя загрузка SM-ядер GPU в процентах. Показывает активность основного вычислительного конвейера GPU.
Метрика: 100 * avg(DCGM_FI_PROF_GR_ENGINE_ACTIVE)
Единица измерения: проценты (0-100)
Пороговые значения:
- Зеленый — загрузка ниже 60%;
- Желтый — загрузка от 60% до 80%;
- Оранжевый — загрузка от 80% до 90%;
- Красный — загрузка выше 90%.
2. Tensor Utilization
Описание: Средняя загрузка тензорных ядер GPU. Тензорные ядра — специализированные вычислительные блоки для операций с матрицами, используемые в задачах машинного обучения.
Метрика: 100 * avg(DCGM_FI_PROF_PIPE_TENSOR_ACTIVE)
Единица измерения: проценты (0-100)
Пороговые значения:
- Зеленый — загрузка ниже 60%;
- Желтый — загрузка от 60% до 80%;
- Оранжевый — загрузка от 80% до 90%;
- Красный — загрузка выше 90%.
Рекомендации: Высокая загрузка тензорных ядер характерна для задач глубокого обучения. Низкая загрузка при выполнении ML-задач может указывать на неоптимальное использование возможностей GPU.
3. GPU Memory Utilization
Описание: Средняя загрузка памяти GPU (DRAM). Показывает активность обращений к видеопамяти.
Метрика: 100 * avg(DCGM_FI_PROF_DRAM_ACTIVE)
Единица измерения: проценты (0-100)
Пороговые значения:
- Зеленый — загрузка ниже 60%;
- Желтый — загрузка от 60% до 80%;
- Оранжевый — загрузка от 80% до 90%;
- Красный — загрузка выше 90%.
4. GPU Memory Usage
Описание: Суммарный объем используемой видеопамяти всех GPU. Панель типа gauge отображает текущее использование относительно общего объема доступной памяти.
Метрики:
sum(DCGM_FI_DEV_FB_USED)— используемая память;sum(DCGM_FI_DEV_FB_USED) + sum(DCGM_FI_DEV_FB_FREE)— общий объем памяти.
Единица измерения: мегабайты
Пороговые значения:
- Зеленый — использование ниже 60%;
- Желтый — использование от 60% до 80%;
- Оранжевый — использование от 80% до 90%;
- Красный — использование выше 90%.
Рекомендации: Следите за использованием памяти GPU. Превышение доступного объема памяти приведет к ошибкам выполнения задач.
Раздел per GPU
Раздел содержит детальные метрики для каждого GPU отдельно.
5. GPU temperature
Описание: Температура каждого GPU в градусах Цельсия. График отображает температуру для каждого GPU отдельно.
Метрика: avg by(Hostname, gpu) (DCGM_FI_DEV_GPU_TEMP)
Единица измерения: градусы Цельсия
Пороговые значения:
- Зеленый — нормальная температура;
- Красный — температура выше 80°C.
6. Power Usage
Описание: Энергопотребление каждого GPU в ваттах. График показывает текущее потребление энергии для каждого GPU.
Метрика: avg by(Hostname, gpu) (DCGM_FI_DEV_POWER_USAGE)
Единица измерения: ватты
7. GPU Energy Draw Total
Описание: Суммарное потребление энергии всеми GPU за последний час и за последние 24 часа.
Метрики:
sum(increase(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[1h]) / 3600000)— за последний час;sum(increase(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[24h]) / 3600000)— за последние 24 часа.
Единица измерения: ватт-часы
Пороговые значения:
- Зеленый — потребление ниже 120 000 Вт·ч (для 24 часов) или 5000 Вт·ч (для 1 часа);
- Желтый — потребление от 120 000 до 150 000 Вт·ч (для 24 часов) или от 5000 до 10 000 Вт·ч (для 1 часа);
- Красный — потребление выше 150 000 Вт·ч (для 24 часов) или 10 000 Вт·ч (для 1 часа).
8. SM clock
Описание: Средняя частота работы потоковых мультипроцессоров (Streaming Multiprocessors) GPU. SM — основной вычислительный блок архитектуры NVIDIA GPU.
Метрика: avg by(modelName) (DCGM_FI_DEV_SM_CLOCK)
Единица измерения: мегагерцы
Пороговые значения:
- Зеленый — частота в пределах нормы;
- Желтый — частота от 1500 МГц;
- Красный — частота выше 2000 МГц.
9. Memory clock
Описание: Средняя частота работы памяти GPU.
Метрика: avg by(modelName) (DCGM_FI_DEV_MEM_CLOCK)
Единица измерения: мегагерцы
Пороговые значения:
- Зеленый — частота в пределах нормы;
- Желтый — частота от 1500 МГц;
- Красный — частота выше 2000 МГц.
10. Memory temperature
Описание: Температура памяти каждого GPU в градусах Цельсия.
Метрика: avg by(Hostname, gpu) (DCGM_FI_DEV_MEMORY_TEMP)
Единица измерения: градусы Цельсия
Пороговые значения:
- Зеленый — нормальная температура;
- Красный — температура выше 80°C.
11. NVLink bandwidth
Описание: Пропускная способность NVLink — высокоскоростного соединения между GPU. Показывает скорость передачи данных между GPU.
Метрика: avg by(Hostname, gpu) (rate(DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL))
Единица измерения: байты в секунду
12. Instance type
Описание: Распределение GPU по моделям. Круговая диаграмма показывает количество GPU каждой модели.
Метрика: count by(modelName) (DCGM_FI_DEV_SM_CLOCK)
Раздел Error
Раздел содержит метрики ошибок и проблем GPU (по умолчанию свернут).
13. PCIe retry rate
Описание: Частота повторных попыток передачи данных по шине PCIe. Высокие значения могут указывать на проблемы с шиной PCIe или нестабильность соединения.
Метрика: avg by(Hostname, gpu) (rate(DCGM_FI_DEV_PCIE_REPLAY_COUNTER))
Единица измерения: повторы в секунду
14. XID error
Описание: Ошибки XID — критические ошибки GPU, требующие внимания. Каждый код XID соответствует определенному типу ошибки оборудования.
Метрика: avg by(Hostname, gpu) (DCGM_FI_DEV_XID_ERRORS)
Единица измерения: количество ошибок
Рекомендации: Любые ошибки XID требуют немедленного расследования. Они могут указывать на аппаратные проблемы, перегрев или проблемы с драйверами.
Раздел Advanced Monitoring (GPU Efficiency & Health)
Раздел содержит расширенные метрики для анализа эффективности использования GPU и выявления проблем.
15. GPU Utilization (Activity %)
Описание: Процент времени активности GPU. Показывает, какую часть времени GPU выполняет вычисления. Сравните с Tensor Utilization для оценки эффективности выполнения ML-задач.
Метрика: max by(Hostname, gpu, UUID) (DCGM_FI_DEV_GPU_UTIL)
Единица измерения: проценты (0-100)
Рекомендации: Низкая загрузка GPU при активных задачах может указывать на узкие места в передаче данных или неоптимальный код.
16. Memory Copy Utilization (Bandwidth)
Описание: Загрузка пропускной способности памяти. Показывает, насколько интенсивно используется канал передачи данных в память GPU. Высокая загрузка копирования памяти при низкой активности SM указывает на узкое место в передаче данных.
Метрика: max by(Hostname, gpu, UUID) (DCGM_FI_DEV_MEM_COPY_UTIL)
Единица измерения: проценты (0-100)
Рекомендации: Высокие значения при низкой загрузке вычислительных блоков указывают на то, что GPU ожидает данных.
17. GPU Memory Growth Rate (Leak Detection)
Описание: Скорость роста использования памяти GPU. Обнаруживает утечки памяти, отслеживая скорость роста потребления памяти. Положительные значения при использовании более 80% памяти указывают на риск исчерпания памяти (OOM).
Метрика: rate(max by(Hostname, gpu, UUID) (DCGM_FI_DEV_FB_USED)[1h:]) * 3600
Единица измерения: байты в секунду
Пороговые значения:
- Зеленый — отрицательный или нулевой рост;
- Желтый — положительный рост;
- Красный — рост выше 1 МБ/с.
Рекомендации: в GPU отсутствует автоматическая сборка мусора — выделенная память остается выделенной до явного освобождения. Постоянный рост использования памяти указывает на утечку.
18. GPU Memory Usage % (OOM Risk)
Описание: Процент использования памяти GPU. Значения выше 80% с положительной скоростью роста указывают на риск исчерпания памяти.
Метрика: 100 * max by(Hostname, gpu, UUID) (DCGM_FI_DEV_FB_USED) / (max by(Hostname, gpu, UUID) (DCGM_FI_DEV_FB_USED) + max by(Hostname, gpu, UUID) (DCGM_FI_DEV_FB_FREE))
Единица измерения: проценты (0-100)
Пороговые значения (инвертированные):
- Красный — использование ниже 70%;
- Оранжевый — использование от 70% до 80%;
- Желтый — использование от 80% до 90%;
- Зеленый — использование выше 90%.
19. Thermal Throttling Risk
Описание: Риск теплового троттлинга. GPU снижают тактовую частоту при превышении температуры 80°C. При 85°C начинается агрессивное троттлинг, снижающий производительность на 30-50%.
Метрика: max by(Hostname, gpu, UUID) (DCGM_FI_DEV_GPU_TEMP)
Единица измерения: градусы Цельсия
Пороговые значения:
- Зеленый — температура ниже 70°C;
- Желтый — температура от 70°C до 80°C;
- Оранжевый — температура от 80°C до 85°C;
- Красный — температура выше 85°C.
Рекомендации: При превышении 80°C проверьте систему охлаждения. Температура выше 85°C критична и приводит к значительному снижению производительности.
20. Temperature Change Rate (°C/min)
Описание: Скорость изменения температуры за 5 минут. Положительные значения указывают на рост температуры — возможные проблемы с охлаждением или отказ вентилятора. Используйте вместе с панелью Thermal Throttling Risk.
Метрика: rate(max by(Hostname, gpu, UUID) (DCGM_FI_DEV_GPU_TEMP)[5m:]) * 60
Единица измерения: градусы Цельсия в минуту
Пороговые значения:
- Зеленый — отрицательная или нулевая скорость изменения;
- Красный — рост выше 0.1°C/мин.
21. GPU Efficiency Gap (Engine vs Tensor Activity)
Описание: Разница между загрузкой SM-ядер и тензорных ядер. Высокая загрузка GPU при низкой загрузке тензорных ядер означает, что GPU занят, но не выполняет эффективные ML/AI вычисления. Целевое значение: разница менее 30%.
Метрика: 100 * (max by(Hostname, gpu, UUID) (DCGM_FI_PROF_GR_ENGINE_ACTIVE) - max by(Hostname, gpu, UUID) (DCGM_FI_PROF_PIPE_TENSOR_ACTIVE))
Единица измерения: проценты (0-100)
Пороговые значения:
- Зеленый — разница ниже 30%;
- Желтый — разница от 30% до 50%;
- Красный — разница выше 50%.
Рекомендации: Большая разница указывает на неэффективное использование специализированных возможностей GPU для ML-задач.
22. Idle/Underutilized GPU cores (<30% Utilization)
Описание: Таблица GPU с загрузкой ниже 30%. Эти GPU выделены, но не выполняют полезную работу — потенциальная трата ресурсов.
Метрика: max by(Hostname, gpu, UUID, exported_namespace, exported_pod) (DCGM_FI_DEV_GPU_UTIL) < 30
Единица измерения: проценты
Пороговые значения:
- Красный — загрузка ниже 5%;
- Желтый — загрузка от 5% до 10%;
- Зеленый — загрузка выше 10%.
Рекомендации: Проверьте, почему выделенные GPU не используются. Возможно, задачи завершились или есть проблемы с приложением.
23. Idle/Underutilized Memory (<30% Utilization)
Описание: Таблица GPU с использованием памяти ниже 30%. Эта память выделена, но не используется — потенциальная трата ресурсов.
Метрика: max by(Hostname, gpu, UUID, exported_namespace, exported_pod) (DCGM_FI_DEV_FB_USED) / (max by(Hostname, gpu, UUID, exported_namespace, exported_pod) (DCGM_FI_DEV_FB_USED) + max by(Hostname, gpu, UUID, exported_namespace, exported_pod) (DCGM_FI_DEV_FB_FREE)) * 100 < 30
Единица измерения: проценты
Пороговые значения:
- Красный — использование ниже 15%;
- Желтый — использование от 15% до 30%;
- Зеленый — использование выше 30%.
24. Processes per GPU (Context Switch Risk)
Описание: Количество процессов на каждом GPU. Когда более 8 процессов используют GPU через time-slicing, накладные расходы на переключение контекста обычно превышают 20%. Высокие значения указывают на конкуренцию за ресурсы.
Метрика: count by(Hostname, gpu) (DCGM_FI_DEV_GPU_UTIL >= 0)
Единица измерения: количество процессов
Пороговые значения:
- Зеленый — менее 4 процессов;
- Желтый — от 4 до 6 процессов;
- Оранжевый — от 6 до 8 процессов;
- Красный — более 8 процессов.
Рекомендации: При большом количестве процессов на одном GPU рассмотрите возможность перераспределения нагрузки.
25. GPU Memory Usage by Pod
Описание: Таблица всех подов, использующих GPU, с указанием фактического потребления памяти GPU. Показывает namespace, имя пода, хост, ID GPU и используемую память. Полезно для определения, какие рабочие нагрузки потребляют больше всего памяти GPU.
Метрика: max by(Hostname, gpu, UUID, exported_namespace, exported_pod, exported_container) (DCGM_FI_DEV_FB_USED)
Единица измерения: мегабайты
Рекомендации: Используйте эту таблицу для анализа распределения памяти между подами и выявления подов с аномально высоким потреблением памяти.
Рекомендации по мониторингу
Критические метрики
Следующие метрики требуют немедленного внимания при отклонении от нормы:
- Thermal Throttling Risk — температура должна быть ниже 80°C. Превышение 85°C критично;
- GPU Memory Usage % (OOM Risk) — использование памяти выше 80% с положительной скоростью роста указывает на риск OOM;
- XID error — любые ошибки XID требуют немедленного расследования;
- Temperature Change Rate — быстрый рост температуры может указывать на проблемы с охлаждением.
Метрики производительности
Для оценки эффективности использования GPU обращайте внимание на:
- GPU Utilization (Activity %) — загрузка GPU должна быть высокой при выполнении вычислительных задач;
- Tensor Utilization — для ML-задач загрузка тензорных ядер должна быть значительной;
- GPU Efficiency Gap — разница между загрузкой SM-ядер и тензорных ядер должна быть менее 30%;
- Memory Copy Utilization — высокие значения при низкой загрузке SM указывают на узкое место в передаче данных.
Метрики оптимизации ресурсов
Для выявления неэффективного использования ресурсов:
- Idle/Underutilized GPU cores — выявляет GPU с загрузкой ниже 30%;
- Idle/Underutilized Memory — выявляет GPU с использованием памяти ниже 30%;
- Processes per GPU — высокое количество процессов на одном GPU снижает эффективность;
- GPU Memory Usage by Pod — помогает определить, какие поды потребляют больше всего ресурсов.
Метрики здоровья GPU
Для контроля состояния оборудования:
- GPU temperature и Memory temperature — температура должна быть в пределах нормы;
- Power Usage — энергопотребление должно соответствовать нагрузке;
- PCIe retry rate — высокие значения указывают на проблемы с шиной PCIe;
- GPU Memory Growth Rate — постоянный рост указывает на утечки памяти.