Як виміряти використання GPU?


77

Використовуючи topкоманду в терміналі, перераховує процеси, відсортовані за їх використанням процесора (і ви можете змінити його на сортування за іншим параметром)

Чи є еквівалент для GPU?

Цей хлопець запитує про оперативну пам’ять, яку використовує GPU


3
Якщо ви працюєте з Radeon, ви можете використовувати radeontop , для nvidia є ще один інструмент, але я не маю назви під рукою.
Брайам

Відповіді:


80
  • Для графічних процесорів Nvidia існує інструмент nvidia-smi, який може відображати використання пам'яті, використання GPU та температуру GPU.
  • Для процесорних процесорів Intel можна використовувати інструменти Intel-gpu .
  • У 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 секунди.
markroxor

1
sudo intel_gpu_topмає надавати вам в реальному часі оновлення для Intel gpus.
Джордж Д

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:



15

Для Intel:

  1. Встановіть intel-gpu-інструменти (ймовірно, що вони вже встановлені)

    sudo apt-get install intel-gpu-tools 
    
  2. Почніть topподібну утиліту з

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

Це те, що ви отримуєте:

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

Дякую @Mitch! :)


12

Ви можете використовувати погляди програми моніторингу з його плагіном моніторингу GPU :

  • відкрите джерело
  • встановити: sudo apt-get install -y python-pip; sudo pip install glances[gpu]
  • Для запуску: sudo glances

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

Він також контролює процесор, IO диска, дисковий простір, мережу та деякі інші речі:

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


Вам також потрібно зробитиpip install nvidia-ml-py3
Пол Вільямс

Він також працює без sudoі коли встановлений лише для користувача: pip install --user glances[gpu]а потім запустіть glances.
Іван Ковтун

8

Конкі

Мені подобається використовувати conkyмонітор у режимі реального часу як для процесора, так і для GPU. Установка проста:

sudo apt install conky

Intel i7-6700HQ iGPU HD 530

У цьому випадку я завантажився за допомогою інтегрованого GPU, а не nVidia GTX 970M:

Intel GPU.gif

conkyКод адаптується в залежності від того, якщо завантажується з prime-select intelабо prime-select nvidia:

nVidia GPU GTX 970M

У цьому випадку я завантажився за допомогою nVidia GTX 970M, а не інтегрованого GPU:

nVidia GPU.GIF


Conky код

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

#------------+
# 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}

У різних відповідях можна знайти різні версії повного переліку коду:


Чи можете ви надати кроки, щоб встановити conky та налаштувати тему так, як ваш приклад Nvidia?
Так

@Tak Я оновив відповідь інструкціями щодо встановлення та наявними посиланнями на код.
WinEunuuchs2Unix

6

Я використовую таку команду:

nvidia-smi -l 2

і він оновлює мене кожні 2 секунди.

виглядає так

Або:

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

А на AMD використовуйте:

aticonfig --odgc --odgt

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.