Мониторинг использования графического процессора (CUDA)

Я установил инструментарий CUDA на свой компьютер и начал проект BOINC на графическом процессоре. В BOINC я вижу, что он работает на GPU, но есть ли инструмент, который может показать мне более подробную информацию о том, что работает на графическом процессоре - использование GPU и использование памяти?

145 голосов | спросил pbm 13 Maypm12 2012, 14:46:43

13 ответов


162

Для графических процессоров Nvidia есть инструмент nvidia-smi, который может отображать использование памяти, использование графического процессора и температуру графического процессора. Также есть список вычислительных процессов и несколько дополнительных опций, но моя графическая карта (GeForce 9600 GT) не поддерживается полностью.

Sun May 13 20:02:49 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.40   Driver Version: 295.40         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce 9600 GT           | 0000:01:00.0  N/A    |       N/A        N/A |
|   0%   51 C  N/A   N/A /  N/A |  90%  459MB /  511MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           Not Supported                                                 |
+-----------------------------------------------------------------------------+
ответил pbm 13 Maypm12 2012, 22:05:51
48

Для linux используйте nvidia-smi -l 1 будет постоянно предоставлять вам информацию об использовании gpu, с интервалом обновления 1 секунду.

ответил qed 4 J0000006Europe/Moscow 2013, 21:10:49
46

Для Intel GPU существует intel-gpu-tools из проекта http://intellinuxgraphics.org/ , который приносит команду intel_gpu_top (между прочим). Он похож на top и htop, но специально для Intel GPU.

   render busy:  18%: ███▋                                   render space: 39/131072
bitstream busy:   0%:                                     bitstream space: 0/131072
  blitter busy:  28%: █████▋                                blitter space: 28/131072

          task  percent busy
           GAM:  33%: ██████▋                 vert fetch: 0 (0/sec)
          GAFS:   3%: ▋                       prim fetch: 0 (0/sec)
            VS:   0%:                      VS invocations: 559188 (150/sec)
            SF:   0%:                      GS invocations: 0 (0/sec)
            VF:   0%:                           GS prims: 0 (0/sec)
            DS:   0%:                      CL invocations: 186396 (50/sec)
            CL:   0%:                           CL prims: 186396 (50/sec)
           SOL:   0%:                      PS invocations: 8191776208 (38576436/sec)
            GS:   0%:                      PS depth pass: 8158502721 (38487525/sec)
            HS:   0%:                      
            TE:   0%:                      
          GAFM:   0%:                      
           SVG:   0%:                      
ответил jippie 13 Maypm12 2012, 18:05:48
40

Недавно я написал простую утилиту командной строки под названием gpustat (которая является оберткой nvidia-smi): просмотрите https://github.com/wookayin/gpustat . .

ответил Jongwook Choi 9 J0000006Europe/Moscow 2016, 09:50:18
24

nvidia-smi не работает на некоторых Linux-машинах (возвращает N /A для многих свойств). Вместо этого вы можете использовать nvidia-settings (это также то, что mat kelcey используется в его скрипте на питоне).

nvidia-settings -q GPUUtilization -q useddedicatedgpumemory

Вы также можете использовать:

watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"

для непрерывного мониторинга.

ответил Jonathan 5 Maypm15 2015, 16:40:24
12

Для полноты AMD имеет два варианта:

  1. fglrx (драйверы с закрытым исходным кодом).

    $ aticonfig --odgc --odgt
    
  2. mesa (драйверы с открытым исходным кодом), вы можете использовать RadeonTop .

      

    Посмотрите на использование графического процессора, как для общего процента активности, так и для отдельных блоков.

ответил kevinf 29 52013vEurope/Moscow11bEurope/MoscowFri, 29 Nov 2013 01:52:11 +0400 2013, 01:52:11
8

У меня видеокарта GeForce 1060 GTX, и я обнаружил, что следующая команда дает мне информацию об использовании карт, температуре, скорости вращения вентилятора и потребляемой мощности:

$ nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,temperature.gpu

Вы можете просмотреть список всех параметров запроса с помощью:

$ nvidia-smi --help-query-gpu
ответил lyubomir 14 PMpFri, 14 Apr 2017 13:26:00 +030026Friday 2017, 13:26:00
7

Для Linux я использую этот инструмент HTOP, который я написал сам. Он контролирует и дает обзор температуры GPU, а также основной /VRAM /PCI-E & использование шины памяти. Он не отслеживает, что работает на GPU, хотя.

gmonitor

 введите описание изображения здесь>> </a> </p></body></html>

ответил Mountassir El Hafi 6 FebruaryEurope/MoscowbMon, 06 Feb 2017 15:54:04 +0300000000pmMon, 06 Feb 2017 15:54:04 +030017 2017, 15:54:04
3

Для OS X

Включая горного льва

меню iStat

Исключая горного льва

atMonitor

  

Последняя версия atMonitor для поддержки функций, связанных с GPU, - atMonitor 2.7.1.

- и ссылка на 2.7.1 обеспечивает 2.7b.

Для более поздней версии приложения atMonitor - FAQ объясняет:

  

Чтобы сделать atMonitor совместимым с MacOS 10.8, мы удалили все связанные с GPU функции.

Я экспериментировал с 2.7b a.k.a. 2.7.1 на Mountain Lion с MacBookPro5,2 с NVIDIA GeForce 9600M GT. Приложение запустилось за несколько секунд до выхода из игры, оно показало температуру, но не использование:

снимок экрана atMonitor 2.7b на Mountain Lion

ответил Graham Perrin 23 SunEurope/Moscow2012-12-23T19:34:43+04:00Europe/Moscow12bEurope/MoscowSun, 23 Dec 2012 19:34:43 +0400 2012, 19:34:43
2

В glances есть плагин, который показывает использование графического процессора и использование памяти.

 введите описание изображения здесь>> </a> </p>

<p> <a href= http://glances.readthedocs.io/en/stable/aoa /gpu.html

Использует библиотеку nvidia-ml-py3: https: //pypi.python. орг /PyPI /мл NVIDIA-PY3

ответил coreindustries 7 22017vEurope/Moscow11bEurope/MoscowTue, 07 Nov 2017 00:12:50 +0300 2017, 00:12:50
1

для nvidia на linux я использую следующий скрипт python, который использует дополнительную задержку и повторяется как iostat и vmstat

https://gist.github.com/matpalm/9c0c7c6a6f3681a0d39d

$ gpu_stat.py 1 2
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"11"}, "used_mem":"161", "time": 1424839016}
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"9"}, "used_mem":"161", "time":1424839018}
ответил mat kelcey 25 FebruaryEurope/MoscowbWed, 25 Feb 2015 07:42:40 +0300000000amWed, 25 Feb 2015 07:42:40 +030015 2015, 07:42:40
1

Следующая функция добавляет к выходу nvidia-smi:

function better-nvidia-smi () {
    nvidia-smi
    join -1 1 -2 3 \
        <(nvidia-smi --query-compute-apps=pid,used_memory \
                     --format=csv \
          | sed "s/ //g" | sed "s/,/ /g" \
          | awk 'NR<=1 {print toupper($0)} NR>1 {print $0}' \
          | sed "/\[NotSupported\]/d" \
          | awk 'NR<=1{print $0;next}{print $0| "sort -k1"}') \
        <(ps -a -o user,pgrp,pid,pcpu,pmem,time,command \
          | awk 'NR<=1{print $0;next}{print $0| "sort -k3"}') \
        | column -t
}

Пример вывода:

$ better-nvidia-smi
Fri Sep 29 16:52:58 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 378.13                 Driver Version: 378.13                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GT 730      Off  | 0000:01:00.0     N/A |                  N/A |
| 32%   49C    P8    N/A /  N/A |    872MiB /   976MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
|   1  Graphics Device     Off  | 0000:06:00.0     Off |                  N/A |
| 23%   35C    P8    17W / 250W |    199MiB / 11172MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0                  Not Supported                                         |
|    1      5113    C   python                                         187MiB |
+-----------------------------------------------------------------------------+
PID   USED_GPU_MEMORY[MIB]  USER    PGRP  %CPU  %MEM   TIME      COMMAND
9178  187MiB                tmborn  9175  129   2.6    04:32:19  ../path/to/python script.py args 42
ответил Lenar Hoyt 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 29 Sep 2017 17:36:51 +0300 2017, 17:36:51
0

У меня были завершены процессы (возможно, они были убиты или разбиты) и продолжают использовать ресурсы, но не указаны в nvidia-smi. Обычно эти процессы просто занимали память gpu.

Если вы считаете, что у вас есть процесс с использованием ресурсов на графическом процессоре, и он не отображается в nvidia-smi, вы можете попробовать выполнить эту команду для двойной проверки. Он покажет вам, какие процессы используют ваши графические процессоры.

sudo fuser -v /dev/nvidia*

Это работает на EL7, Ubuntu или других дистрибутивах, возможно, их устройства nvidia перечислены под другим именем /местоположением.

ответил Rick Smith 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 18 Sep 2017 21:27:43 +0300 2017, 21:27:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132