Wie messe ich die GPU-Auslastung?

78

Mit dem topBefehl im Terminal werden Prozesse aufgelistet, sortiert nach ihrer CPU-Auslastung (und Sie können sie ändern, um sie nach einem anderen Parameter zu sortieren).

Gibt es ein Äquivalent für die GPU?

Dieser Typ fragt nach dem von der GPU verwendeten RAM

xxjjnn
quelle
3
Abgesehen davon, wenn Sie eine Radeon verwenden , können Sie Radeontop verwenden . Für NVIDIA gibt es ein anderes Tool, aber ich habe den Namen nicht zur Hand.
Braiam

Antworten:

80
  • Für Nvidia-GPUs gibt es das Tool nvidia-smi , mit dem die Speichernutzung, die GPU-Auslastung und die Temperatur der GPU angezeigt werden können.
  • Für Intel-GPUs können Sie die Intel-GPU -Tools verwenden .
  • AMD hat zwei Möglichkeiten

    1. fglrx (Closed-Source-Treiber):

      aticonfig --odgc --odgt
      
    2. Und für Mesa (Open Source-Treiber) können Sie RadeonTop verwenden Installation über das Software Center .

Quelle: GPU-Nutzungsüberwachung

Mitch
quelle
41
Verwendung watch nvidia-smifür Echtzeit-Updates.
Lenar Hoyt
1
aticonfig funktioniert nicht über SSH. Behauptet, dass ein X-Server ausgeführt werden muss, um zu funktionieren (ein Server wird ausgeführt). RadeonTop ( sudo apt-get radeontop) funktioniert jedoch mit fglrx (benötigt root). Hurra! Leider liefert RadeonTop keine Temperaturwerte.
Ken Sharp
aticonfig wird über SSH funktionieren, aber ein X-Server mit aktiviertem TCP muss ausgeführt werden. Dies kann durch Konfiguration von lightdm über erfolgen xserver-allow-tcp=true. Das Durchsuchen dieser Site mit diesen Schlüsselwörtern sollte zum Ergebnis führen.
HAL 9001
Ich weiß nicht warum, watch -n 1 nvidia-smigab mir aber Echtzeit-Updates. watch nvidia-smihat eine Aktualisierungsverzögerung von 2 Sekunden.
Markroxor
1
sudo intel_gpu_topsollte Ihnen Echtzeit-Updates für Intel GPUS geben.
George D
24

Nvidia: Um die Ausgabe von fortlaufend zu aktualisieren nvidia-smi, können Sie nvidia-smi --loop=1(Aktualisierungsintervall von 1 Sekunde) oder nvidia-smi --loop-ms=1000(Aktualisierungsintervall von 1000 Millisekunden) verwenden.

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

Zu Ihrer Information:

Franck Dernoncourt
quelle
21

Mit gpustatdem einfachen Befehlszeilenskript (Wrapper für nvidia-smi) können Sie den GPU-Status abfragen und überwachen:

Bildbeschreibung hier eingeben

Franck Dernoncourt
quelle
HINWEIS: Nur für Nvidia
Lennart Rolland
pip install gpustat
Shital Shah
15

Für Intel:

  1. Intel-gpu-tools installieren (wahrscheinlich sind sie bereits installiert)

    sudo apt-get install intel-gpu-tools 
    
  2. Starten Sie das topHilfsprogramm like mit

    sudo intel_gpu_top
    
  3. Überprüfe deine Statistiken und beende dann mit Ctrl+C

Das ist, was du bekommst:

Bildbeschreibung hier eingeben

Danke @Mitch! :)

Thomas Venturini
quelle
12

Sie können das Überwachungsprogramm auf einen Blick mit dem GPU-Überwachungs- Plug-In verwenden:

  • Open Source
  • installieren: sudo apt-get install -y python-pip; sudo pip install glances[gpu]
  • starten: sudo glances

Bildbeschreibung hier eingeben

Es überwacht auch die CPU, die Festplatten-E / A, den Festplattenspeicher, das Netzwerk und einige andere Dinge:

Bildbeschreibung hier eingeben

Franck Dernoncourt
quelle
Sie müssen auch tunpip install nvidia-ml-py3
Paul Williams
Es funktioniert auch ohne sudound wenn es nur für Benutzer installiert ist: pip install --user glances[gpu]und dann laufen glances.
Ivan Kovtun
8

Conky

Ich verwende es gerne conkyals Echtzeitmonitor sowohl für die CPU als auch für die GPU. Die Installation ist einfach:

sudo apt install conky

Intel i7-6700HQ iGPU HD 530

In diesem Fall habe ich mit der integrierten GPU und nicht mit der nVidia GTX 970M gebootet:

Intel GPU.gif

Der conkyCode passt sich je nachdem an, ob mit prime-select inteloder gebootet wird prime-select nvidia:

NVIDIA GPU GTX 970M

In diesem Fall habe ich mit nVidia GTX 970M anstelle der integrierten GPU gebootet:

nVidia GPU.GIF


Conky-Code

Der Conky-Code wurde kürzlich geändert, um die GPU automatisch zu erkennen. Jetzt muss es beim Neustart auf eine andere GPU nicht mehr manuell geändert werden:

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

Verschiedene Versionen der vollständigen Codeliste finden Sie in den folgenden Antworten:

WinEunuuchs2Unix
quelle
Könnten Sie bitte die Schritte zur Installation von conky und zur Einrichtung des Themas wie in Ihrem Nvidia-Beispiel angeben?
Tak
@Tak Ich habe die Antwort mit Installationsanweisungen und vorhandenen Links zu Code aktualisiert.
WinEunuuchs2Unix
6

Ich benutze den folgenden Befehl:

nvidia-smi -l 2

und es gibt mir Updates alle 2 Sekunden.

sieht aus wie das

Oder :

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

Und auf AMD verwenden Sie:

aticonfig --odgc --odgt

Bildbeschreibung hier eingeben

Tshilidzi Mudau
quelle