web-dev-qa-db-fra.com

Comment mesurer l'utilisation du GPU?

Utilisation de la commande top dans les processus de listes de terminaux, triée selon leur utilisation de l'UC (et vous pouvez le changer pour trier par un autre paramètre)

Existe-t-il un équivalent pour le GPU?

Ce type demande à propos de RAM utilisé par le GP

70
xxjjnn
  • Pour les GPU Nvidia, il existe un outil nvidia-smi qui peut afficher l'utilisation de la mémoire, l'utilisation du GPU et la température du GPU.
  • Pour les processeurs graphiques Intel, vous pouvez utiliser intel-gpu-tools .
  • AMD a deux options

    1. fglrx (drivers source fermés):

      aticonfig --odgc --odgt
      
    2. Et pour mesa (pilotes open source), vous pouvez utiliser RadeonTopInstall via the software center .

Source: surveillance de l'utilisation du GP

73
Mitch

Nvidia: pour mettre à jour en permanence la sortie de nvidia-smi, vous pouvez utiliser nvidia-smi --loop=1 (intervalle de rafraîchissement de 1 seconde) ou nvidia-smi --loop-ms=1000 (intervalle de rafraîchissement de 1000 millisecondes).

   -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:

23
Franck Dernoncourt

Vous pouvez utiliser gpustat , qui est un simple script de ligne de commande (encapsuleur pour nvidia-smi) permettant d'interroger et de surveiller le statut du processeur graphique:

enter image description here

18

Pour Intel:

  1. Installez intel-gpu-tools (il est probable qu'ils sont déjà installés)

    Sudo apt-get install intel-gpu-tools 
    
  2. Lancez l'utilitaire top avec

    Sudo intel_gpu_top
    
  3. Vérifiez vos statistiques et quittez avec Ctrl+C

C'est ce que tu as:

enter image description here

Merci @Mitch! :)

14
Thomas Venturini

Vous pouvez utiliser le programme de surveillance regards avec son plug-in surveillance du processeur graphique :

  • open source
  • installer: Sudo apt-get install -y python-pip; Sudo pip install glances[gpu]
  • pour lancer: Sudo glances

enter image description here

Il surveille également le processeur, les E/S de disque, l’espace disque, le réseau et quelques autres éléments:

enter image description here

12
Franck Dernoncourt

Conky

J'aime utiliser conky comme moniteur en temps réel pour le processeur et le processeur graphique.

Intel i7-6700HQ iGPU HD 530

Dans ce cas, j'ai démarré en utilisant le GPU intégré plutôt que le nVidia GTX 970M:

Intel GPU.gif

Le code conky s'adapte en fonction du démarrage avec prime-select intel ou prime-select nvidia:

nVidia GPU GTX 970M

Dans ce cas, j'ai démarré en utilisant le nVidia GTX 970M plutôt que le GPU intégré:

nVidia GPU.GIF


Code de conky

Le code de conky a été récemment modifié pour détecter automatiquement le GPU. Maintenant, il n’est pas nécessaire de le modifier à la main lors du redémarrage sur un autre 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}
7
WinEunuuchs2Unix

J'utilise la commande suivante:

nvidia-smi -l 2

et il me donne des mises à jour toutes les 2 secondes.

looks like this

Ou :

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

Et sur AMD, utilisez:

aticonfig --odgc --odgt

enter image description here

6
Tshilidzi Mudau