PowerEdge. Полезные запросы "NVIDIA-SMI" для поиска и устранения неисправностей
Summary: В этой статье приведены полезные запросы NVIDIA-SMI для поиска и устранения неисправностей платы графического процессора NVIDIA.
Instructions
Версия VBIOS
Запросите версию VBIOS каждого устройства.
$ nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv
name, pci.bus_id, vbios_version
GRID K2, 0000:87:00.0, 80.04.D4.00.07
GRID K2, 0000:88:00.0, 80.04.D4.00.08
Query |
Description |
|---|---|
timestamp |
The timestamp of where the query was made in format "YYYY/MM/DD HH:MM:SS.msec". |
gpu_name |
The official product name of the GPU. This is an alphanumeric string. For all products. |
gpu_bus_id |
PCI bus id as "domain:bus:device.function", in hex. |
vbios_version |
The BIOS of the GPU board. |
Запрос метрик графического процессора для ведения журнала на стороне хоста
Этот запрос подходит для мониторинга метрик графического процессора на стороне гипервизора.
Этот запрос работает как для ESXi, так и для XenServer:
$ nvidia-smi --query-gpu=timestamp,name,pci.bus_id,driver_version,pstate,pcie.link.gen.max,
pcie.link.gen.current,temperature.gpu,utilization.gpu,utilization.memory,
memory.total,memory.free,memory.used --format=csv -l 5
При добавлении дополнительных параметров в запрос убедитесь, что между параметрами запросов не добавляются пробелы.
Query |
Description |
|---|---|
timestamp |
The timestamp of where the query was made in format "YYYY/MM/DD HH:MM:SS.msec". |
name |
The official product name of the GPU. This is an alphanumeric string. For all products. |
pci.bus_id |
PCI bus id as "domain:bus:device.function", in hex. |
driver_version |
The version of the installed NVIDIA display driver. This is an alphanumeric string. |
pstate |
The current performance state for the GPU. States range from P0 (maximum performance) to P12 (minimum performance). |
pcie.link.gen.max |
The maximum PCI-E link generation possible with this GPU and system configuration. For example, if the GPU supports a higher PCIe generation than the system supports then this reports the system PCIe generation. |
pcie.link.gen.current |
The current PCI-E link generation. These may be reduced when the GPU is not in use. |
temperature.gpu |
Core GPU temperature. in degrees C. |
|
|
|
|
|
|
|
|
Total installed GPU memory. |
|
|
Total free memory. |
|
|
Total memory allocated by active contexts. |
Полный список аргументов запроса можно получить, выполнив: nvidia-smi --help-query-gpu
nvidia-smi Использование для ведения журнала
Краткосрочное ведение журнала
Добавьте параметр "-f <filename>», чтобы перенаправить вывод в файл.
Начало "timeout -t <seconds>", чтобы выполнить запрос для <seconds> и остановите ведение журнала.
Убедитесь, что размер детализации запроса соответствует требуемому использованию:
Purpose |
nvidia-smi "-l" value |
interval |
timeout "-t" value |
Duration |
|---|---|---|---|---|
Fine-grain GPU behavior |
5 |
5 seconds |
600 |
10 minutes |
General GPU behavior |
60 |
1 minute |
3600 |
1 hour |
Broad GPU behavior |
3600 |
1 hour |
86400 |
24 hours |
Долгосрочное ведение журналов
Создайте сценарий оболочки для автоматического создания файла журнала с данными метки времени, добавленными к имени файла и параметрам запроса.
Добавить пользовательский cron job, чтобы /var/spool/cron/crontabs для вызова скрипта с требуемой периодичностью.
ДОПОЛНИТЕЛЬНЫЕ НИЗКОУРОВНЕВЫЕ КОМАНДЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ЧАСОВ И ПИТАНИЯ
Включите режим «Persistence».
Приведенные ниже настройки часов и питания сбрасываются между запусками программы, если только драйвер не включил режим сохранения (PM).
Кроме того, nvidia-smi выполняется быстрее, если включен режим PM.
nvidia-smi -pm 1 - Сделайте так, чтобы настройки часов, питания и другие настройки сохранялись при запуске программы и вызове драйвера.
Часы
Command |
Detail |
|---|---|
nvidia-smi -ac <MEM clock, Graphics clock> |
View clocks supported |
nvidia-smi –q –d SUPPORTED_CLOCKS |
Set one of supported clocks |
nvidia-smi -q –d CLOCK |
View current clock |
nvidia-smi --auto-boost-default=ENABLED -i 0 |
Enable boosting GPU clocks (K80 and later) |
nvidia-smi --rac |
Reset clocks back to base |
Питание
nvidia-smi –pl N |
Set power cap (maximum wattage the GPU will use) |
nvidia-smi -pm 1 |
Enable persistence mode |
nvidia-smi stats -i <device#> -d pwrDraw |
Command that provides continuous monitoring of detail stats such as power |
nvidia-smi --query-gpu=index, timestamp,power.draw,clocks.sm,clocks.mem,clocks.gr --format=csv -l 1 |
Continuously provide time stamped power and clock |
Другие полезные команды
| Команда | Описание |
nvidia-smi -q |
Query all the GPUs seen by the driver and display all readable attributes for a GPU. |
nvidia-smi |
Displays current GPU status, driver information and host of other statistics. |
nvidia-smi -l |
Scrolls the output of nvidia-smi continuously until stopped. |
nvidia-smi --query gpu=index,timestamp,power.draw,clocks.sm,clocks.mem,clocks.gr --format=csv |
Continuously provides time stamped power and clock information. |
nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv |
Query the VBIOS version of each GPU in a system. |
lspci -n | grep 10de |
Determines if the GPU is in compute mode or graphics mode. |
nvidia-smi nvlink -s -i<device#> |
Displays NVLink state for a specific GPU. |
gpuswitchmode --listgpumodes |
Displays the capability of GRID 2.0 cards and switching between compute and graphics. The package is not in the normal CUDA or NVIDIA driver. |
nvidia-smi -h |
Displays the smi commands and syntax form. |
nvidia-bug-report.sh |
Pulls out a bug report which is sent to Level 3 support technician/NVIDIA. |
nvidia-smi --query-retired-pages=gpu_uuid,retired_pages.address,retired_page.cause --format=csv |
Pulls out retired pages, GPU UUID, page fault address and the cause of page fault. |
nvidia-smi stats |
Displays device statistics. |
nvcc --version |
Shows installed CUDA version. |
nvidia-smi pmon |
Displays process statistics in scrolling format. |
nvidia-smi nvlink -c -i<device#> |
Displays NVLink capabilities for a specific GPU. |
gpuswitchmode --gpumode graphics |
Changes the personality of the GPU to graphics from compute (M6 and M60 GPUs). |
gpuswitchmode --gpumode compute |
Changes the personality of the GPU to compute from graphics (M6 and M60 GPUs). |