Как измерить использование GPU?

78

Использование topкоманды в терминале выводит список процессов, отсортированных по их использованию ЦП (и вы можете изменить его для сортировки по другому параметру)

Есть ли аналог для GPU?

Этот парень спрашивает об оперативной памяти, используемой графическим процессором

xxjjnn
источник
3
Депандирование, если вы используете Radeon, вы можете использовать Radeontop , для NVIDIA есть другой инструмент, но у меня нет названия под рукой.
Брайам

Ответы:

80
  • Для графических процессоров Nvidia есть инструмент nvidia-smi, который может отображать использование памяти, использование графического процессора и температуру графического процессора.
  • Для графических процессоров Intel вы можете использовать intel-gpu-tools .
  • У AMD есть два варианта

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

      aticonfig --odgc --odgt
      
    2. А для mesa (драйверы с открытым исходным кодом) вы можете использовать RadeonTop Установить через центр программного обеспечения .

Источник: мониторинг использования GPU

Митч
источник
41
Используйте watch nvidia-smiдля обновления в режиме реального времени.
Ленар Хойт
1
aticonfig не будет работать над SSH. Утверждает, что ему нужен работающий X-сервер (есть один работающий). Тем не менее, RadeonTop ( sudo apt-get radeontop) делает работу с fglrx (необходим корень). Ура! К сожалению, RadeonTop не дает никаких показаний температуры.
Кен Шарп
aticonfig БУДЕТ работать через SSH, но должен быть запущен X-сервер с включенным tcp. Это можно сделать, настроив lightdm через xserver-allow-tcp=true. Поиск по этому сайту по этим ключевым словам должен привести к результату.
HAL 9001
Не уверен, почему, но watch -n 1 nvidia-smiдал мне обновления в режиме реального времени. watch nvidia-smiимеет 2-секундную задержку обновления.
Маркроксор
1
sudo intel_gpu_topдолжен дать вам обновления в реальном времени для Intel GPUS.
Джордж D
24

Nvidia: для постоянного обновления выходных данных nvidia-smiвы можете использовать nvidia-smi --loop=1(интервал обновления 1 секунда) или nvidia-smi --loop-ms=1000(интервал обновления 1000 миллисекунд).

   -l SEC, --loop=SEC
       Continuously  report  query data at the specified interval, rather than
       the default of  just  once.   The  application  will  sleep  in-between
       queries.   Note  that on Linux ECC error or XID error events will print
       out during the sleep period if the -x flag was not specified.  Pressing
       Ctrl+C at any time will abort the loop, which will otherwise run indef‐
       initely.  If no argument is specified for the -l form a default  inter‐
       val of 5 seconds is used.

   -lms ms, --loop-ms=ms
       Same as -l,--loop but in milliseconds.

FYI:

Франк Дернонкур
источник
21

Вы можете использовать gpustatпростой сценарий командной строки (оболочка для nvidia-smi) для запроса и мониторинга состояния графического процессора:

введите описание изображения здесь

Франк Дернонкур
источник
ПРИМЕЧАНИЕ: только для Nvidia
Леннарт Роллан
pip install gpustat
Шиталь Шах
15

Для Intel:

  1. Установите intel-gpu-tools (вероятно, они уже установлены)

    sudo apt-get install intel-gpu-tools 
    
  2. Запустите topутилиту как

    sudo intel_gpu_top
    
  3. Проверьте свою статистику и затем выйдите с Ctrl+C

Вот что вы получаете:

введите описание изображения здесь

Спасибо @ Митч! :)

Томас Вентурини
источник
12

Вы можете использовать программу мониторинга взглядов с помощью плагина для мониторинга GPU :

  • Открытый исходный код
  • установить: sudo apt-get install -y python-pip; sudo pip install glances[gpu]
  • запустить: sudo glances

введите описание изображения здесь

Он также контролирует процессор, дисковый ввод-вывод, дисковое пространство, сеть и некоторые другие вещи:

введите описание изображения здесь

Франк Дернонкур
источник
Вы также должны сделатьpip install nvidia-ml-py3
Пол Уильямс
Это также работает без sudoи когда установлено только для пользователя: pip install --user glances[gpu]и затем запускается glances.
Иван Ковтун
8

носатый

Мне нравится использовать conkyв качестве монитора в режиме реального времени для процессора и графического процессора. Установка проста:

sudo apt install conky

Intel i7-6700HQ iGPU HD 530

В этом случае я загрузился с использованием встроенного графического процессора, а не nVidia GTX 970M:

Intel GPU.gif

conkyКод адаптируется в зависимости от того, если загружается с prime-select intelили prime-select nvidia:

GPU nVidia GTX 970M

В этом случае я загрузился с использованием nVidia GTX 970M, а не встроенного графического процессора:

nVidia GPU.GIF


Код Conky

Необычный код был недавно изменен для автоматического определения состояния графического процессора. Теперь его не нужно изменять вручную при перезагрузке другого графического процессора:

#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_existing /sys/class/drm/card0/gt_cur_freq_mhz}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}
${execpi .001 (cat /sys/class/drm/card0/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
#${color orange}${hr 1}${if_match "${lsmod | grep nvidia_uvm}">""}
${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C
${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}
${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}
${color orange}${hr 1}${endif}

Различные варианты полного списка кода можно найти в следующих ответах:

WinEunuuchs2Unix
источник
Не могли бы вы предоставить инструкции по установке conky и настроить тему так, как это делается в вашем примере с Nvidia?
Так
@ Так я обновил ответ с инструкциями по установке и существующими ссылками на код.
WinEunuuchs2Unix
6

Я использую следующую команду:

nvidia-smi -l 2

и он дает мне обновления каждые 2 секунды.

выглядит так

Или же :

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

А на AMD используйте:

aticonfig --odgc --odgt

введите описание изображения здесь

Цилидзи Мудау
источник