# Команды nvidia-smi для мониторинга GPU-серверов

> Команды nvidia-smi для мониторинга загрузки GPU в Linux: просмотр в реальном времени, логи в CSV, nvtop, экспортер DCGM, ошибки ECC и Xid, аналоги в rocm-smi.

Источник: https://fullgpu.com/ru/docs/gpu-monitoring  
Обновлено: 2026-10-22  
Издатель: FullGPU (https://fullgpu.com/)

Эти команды nvidia-smi охватывают всё, что нужно для мониторинга загрузки GPU в Linux: от наблюдения в реальном времени во время обучения до метрик, которые вы храните неделями. Они одинаково работают на тарифах с одним GPU и на 8-GPU-серверах. В последних разделах — аппаратные ошибки, случаи, когда стоит создать тикет, и аналоги для AMD.

## Шпаргалка по nvidia-smi

| Задача | Команда |
| --- | --- |
| Разовый снимок состояния всех GPU | `nvidia-smi` |
| Обновление каждые 2 секунды | `nvidia-smi -l 2` |
| Список GPU и их UUID | `nvidia-smi -L` |
| Непрерывный вывод загрузки, энергопотребления, частот и памяти | `nvidia-smi dmon -s pucm` |
| Процессы и используемая ими память | `nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv` |
| Выбранные метрики в формате CSV каждые 10 секунд | `nvidia-smi --query-gpu=index,utilization.gpu,memory.used --format=csv -l 10` |
| Подробные данные о температуре, энергопотреблении или ECC | `nvidia-smi -q -d TEMPERATURE` (или `POWER`, `ECC`) |
| Как связаны GPU: NVLink, PCIe, NUMA | `nvidia-smi topo -m` |
| Состояние каждого канала NVLink | `nvidia-smi nvlink -s` |

Ниже разобрана каждая команда, а аналоги для AMD приведены в конце страницы.

## Наблюдение за GPU в реальном времени

```
nvidia-smi              # one snapshot
nvidia-smi -l 2         # print a new snapshot every 2 seconds
watch -n 2 nvidia-smi   # same, redrawn in place
```

**GPU-Util** — доля времени, когда выполнялось хотя бы одно ядро (kernel), а не загруженность каждого вычислительного блока, поэтому значение 100% ещё не доказывает, что GPU используется эффективно. **Memory-Usage** — выделенная память; фреймворки вроде vLLM намеренно резервируют большую её часть. **Pwr:Usage/Cap** и **Temp** показывают энергопотребление и температуру, а **Perf** — состояние производительности, где P0 — самое высокое. Список процессов показывает, какие PID используют каждый GPU; внутри контейнеров он часто пуст, поэтому проверяйте его на хосте. Если ошибку выдаёт сам nvidia-smi, загляните в раздел [об устранении неполадок с драйвером](https://fullgpu.com/ru/docs/nvidia-drivers-cuda).

## Непрерывный вывод метрик с dmon

```
nvidia-smi dmon -s pucm -d 5
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
```

`dmon` выводит по одной строке на каждый GPU каждые 5 секунд (`-d 5`). Буквы после `-s` выбирают группы метрик: `p` — энергопотребление и температура, `u` — загрузка, `c` — частоты, `m` — память; добавьте `e` для ошибок ECC и PCIe и `t` для скорости передачи данных по PCIe. `-i 0,1` ограничивает вывод выбранными GPU. Вторая команда выводит каждый процесс и объём видеопамяти (VRAM), который он занимает.

## Запись метрик в CSV через --query-gpu

```
fields=timestamp,index,utilization.gpu,memory.used,memory.total
fields=$fields,temperature.gpu,power.draw,clocks.sm
nvidia-smi --query-gpu=$fields --format=csv -l 10 >> ~/gpu-metrics.csv
```

Эта команда каждые 10 секунд дописывает в файл по строке на каждый GPU; запускайте её в tmux или как службу. Для файлов, которые вы разбираете скриптами, используйте `--format=csv,noheader,nounits`. `nvidia-smi --help-query-gpu` перечисляет все поля, например `temperature.memory` на GPU с HBM.

## nvtop — htop для GPU

```
sudo apt install -y nvtop
nvtop
```

nvtop рисует графики загрузки и памяти для каждого GPU, а под ними — список процессов. Свежие версии, например та, что входит в Ubuntu 24.04, поддерживают и GPU AMD. Чтобы выйти, нажмите Q.

## Долгосрочные метрики: экспортер DCGM и Prometheus

Для истории метрик и оповещений экспортер DCGM от NVIDIA отдаёт метрики GPU в формате Prometheus, а Grafana может строить по ним графики. Минимальный запуск в Docker (вместо `TAG` подставьте актуальный тег из каталога NGC от NVIDIA):

```
docker run -d --name dcgm-exporter --gpus all --cap-add SYS_ADMIN \
  -p 127.0.0.1:9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:TAG
curl -s http://127.0.0.1:9400/metrics \
  | grep -E 'DCGM_FI_DEV_(GPU_UTIL|GPU_TEMP|POWER_USAGE|XID_ERRORS)'
```

Для каждой метрики вы увидите по одному значению на каждый GPU. Собирайте метрики своим сервером Prometheus через [частную сеть](https://fullgpu.com/ru/products/private-networking) или SSH-туннель и настройте оповещения по `DCGM_FI_DEV_XID_ERRORS` и по температуре. Никогда не открывайте порт с метриками в интернет. На серверах AMD ту же роль выполняет экспортер метрик устройств от AMD для GPU Instinct.

## Температура, энергопотребление и ошибки ECC

```
nvidia-smi -q -d TEMPERATURE
nvidia-smi -q -d POWER,PERFORMANCE
nvidia-smi -q -d ECC
nvidia-smi -q -d ROW_REMAPPER
```

- **Температура.** Сравните текущее значение с порогами «GPU Slowdown Temp» и «GPU Shutdown Temp» в том же выводе. При температуре, близкой к порогу замедления, частоты снижаются.
- **Энергопотребление и частоты.** В разделе PERFORMANCE перечислены причины изменения частот (clock event reasons). «SW Power Cap» под высокой нагрузкой — это нормально, а о «HW Slowdown» или «HW Thermal Slowdown», когда GPU загружен, стоит сообщить в поддержку.
- **ECC.** GPU для дата-центров исправляют однобитовые ошибки памяти на лету. Временные (volatile) счётчики сбрасываются при перезагрузке драйвера, а накопительные (aggregate) охватывают весь срок службы GPU. Неисправимые ошибки обычно останавливают выполняющуюся задачу.
- **Переназначение строк (row remapping).** GPU с HBM заменяют неисправные строки памяти. «Pending: Yes» означает, что для применения переназначения нужен сброс GPU или перезагрузка. Повторяющиеся переназначения или сбой переназначения означают, что GPU требует внимания.

## Ошибки Xid: в каких случаях создавать тикет

Драйвер NVIDIA записывает сбои GPU в журнал ядра в виде сообщений Xid:

```
sudo dmesg -T | grep -i xid
sudo journalctl -k --since "24 hours ago" | grep -i xid
```

| Xid | Значение | Что делать |
| --- | --- | --- |
| 13, 31, 43 | Исключение графического движка, ошибка страницы видеопамяти, GPU прекратил обработку | Обычно это ошибка или недопустимое обращение к памяти в самом приложении. Создайте тикет, если такие ошибки повторяются в разных задачах. |
| 48, 94, 95 | Двухбитовая ошибка ECC; локализованная или нелокализованная ошибка ECC | Создайте тикет. Локализованная ошибка (94) останавливает только затронутое приложение; после 95 GPU нужно сбросить. |
| 63, 64 | Событие переназначения строк или вывода страницы памяти из использования либо сбой его записи | Перезагрузите сервер, чтобы применить ожидающее переназначение. Создайте тикет, если это повторяется или завершается сбоем. |
| 74 | Ошибка NVLink | Создайте тикет и приложите полную строку из журнала. |
| 79 | GPU пропал с шины | Создайте тикет. GPU остаётся недоступным до перезагрузки сервера, и ему может потребоваться ремонт. |

В тикете укажите IP-адрес сервера и строки Xid, а также приложите NVIDIA bug report — отчёт, который собирает нужные журналы в один файл:

```
sudo nvidia-bug-report.sh
```

Скрипт сохраняет `nvidia-bug-report.log.gz` в текущий каталог. Вышедшие из строя GPU заменяются в приоритетном порядке в соответствии с нашим [соглашением об уровне обслуживания](https://fullgpu.com/ru/legal/sla), а инженеры отвечают круглосуточно: [создайте тикет в поддержку](https://fullgpu.com/ru/help/getting-support) через личный кабинет.

## Аналоги для AMD: rocm-smi и amd-smi

| Задача | NVIDIA | AMD |
| --- | --- | --- |
| Снимок состояния | `nvidia-smi` | `rocm-smi` или `amd-smi metric` |
| Просмотр в реальном времени | `nvidia-smi -l 2` | `watch -n 2 rocm-smi` |
| Непрерывный табличный вывод | `nvidia-smi dmon` | `amd-smi monitor` |
| Загрузка, память, энергопотребление, температура | `nvidia-smi --query-gpu=...` | `rocm-smi --showuse --showmemuse --showpower --showtemp` |
| Процессы | `nvidia-smi --query-compute-apps=...` | `amd-smi process` |
| Сообщения ядра | `sudo dmesg -T \| grep -i xid` | `sudo dmesg -T \| grep -i amdgpu` |

Подробнее об инструментах AMD — в руководстве [по настройке ROCm](https://fullgpu.com/ru/docs/amd-rocm).

## Связанные страницы

- [Как проверить версию CUDA и драйвера NVIDIA в Ubuntu](https://fullgpu.com/ru/docs/nvidia-drivers-cuda): Проверьте версии драйвера NVIDIA и CUDA в nvidia-smi и nvcc, узнайте, как они должны соотноситься, и добавьте CUDA Toolkit в Ubuntu 24.04 без смены драйвера.
- [Тесты NCCL на сервере с несколькими GPU: all_reduce_perf шаг за шагом](https://fullgpu.com/ru/docs/multi-gpu-nccl): Как запустить тесты NCCL на сервере с несколькими GPU: проверка топологии NVLink, сборка nccl-tests, busbw в all_reduce_perf и запуск задач torchrun на 8 GPU.
- [Компенсация по SLA для GPU-серверов: как она работает](https://fullgpu.com/ru/help/sla-credits): Компенсация по SLA для GPU-серверов: месячная доступность 99,9%, размер от 10% до 100% ежемесячной платы, что считается простоем и как её запросить.
- [Поддержка GPU-серверов: как работают тикеты](https://fullgpu.com/ru/help/getting-support): Поддержка GPU-серверов FullGPU работает 24/7: на тикеты в личном кабинете отвечают инженеры. Кто может создать тикет, что указать и что решается без него.
