ubuntuusers.de

Gibt es htop mit GPU Überwachung?

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Imhoteph

Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

Hi zusammen,

es gibt ja diverse Programme zur Überwachung der CPU Last etc., aber bei allen die ich bisher gesehen habe (htop, nvtop, bashtop...) fehlt die Überwachung der GPU.

Gibt es dafür ein passendes Programm?

Kann man die Systemlast auch als Overlay auf dem Desktop Hintergrund einblenden?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18258

Wohnort: in deinem Browser, hier auf dem Bildschirm

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Das beste von allen, vereint und ressourcenschonend in einem Programm:

nvtop bleibt aber trotzdem eine bequeme Möglichkeit, wenn man schauen möchte ob die GPU gerade Compute Aufgaben erledigt mit NVENC, NVDEC, oder CUDA, oder ob sie mur Pixel malt.

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

trollsportverein schrieb:

Das beste von allen, vereint und ressourcenschonend in einem Programm:

Danke für den Tipp. Ich habe btop wie auf github beschrieben installiert. Leider wird mir aber keine GPU Auslastung angezeigt.

In der Anleitung auf github steht zur GPU Unterstützung, dass ich den NVIDIA Treiber und die Bibliothek nvidia-ml installiert haben muss.

Das ist bei mir beides der Fall, aber ich finde dennoch keine Anzeigemöglichkeit für GPU Auslastung.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
imhoteph@T3610:~$ nvidia-smi
Fri Jan 31 22:36:51 2025       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro K2000        Off  | 00000000:02:00.0  On |                  N/A |
| 32%   49C    P8    N/A /  N/A |    379MiB /  1998MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2191      G   /usr/lib/xorg/Xorg                147MiB |
|    0   N/A  N/A      2355      G   /usr/bin/gnome-shell               44MiB |
|    0   N/A  N/A      3438      G   ...40a731e7d47bdd4cb3a3fb1a8       83MiB |
|    0   N/A  N/A      4812      G   ...b/thunderbird/thunderbird       98MiB |
+-----------------------------------------------------------------------------+
imhoteph@T3610:~$ ldconfig -p | grep libnvidia-ml
	libnvidia-ml.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libnvidia-ml.so.1
	libnvidia-ml.so.1 (libc6) => /lib/i386-linux-gnu/libnvidia-ml.so.1
	libnvidia-ml.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libnvidia-ml.so
	libnvidia-ml.so (libc6) => /lib/i386-linux-gnu/libnvidia-ml.so
imhoteph@T3610:~$ 

Was mache ich falsch?

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Mich wundert, dass bei deiner alten Quadro K2000 mit Kepler GPU-Architektur keine Strommessung mit nvidia-smi möglich ist. Fehlen der Hardware da schlichtweg die Sensoren, so dass die Werte bei dieser Hardware nicht abgefragt werden können? Ist Lm sensors nicht installiert?

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

Ich habe die Sensoren gesucht und ergänzt:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
imhoteph@T3610:~$ sudo sensors-detect 
[sudo] Passwort für imhoteph: 
# sensors-detect version 3.6.0
# System: Dell Inc. Precision T3610 [00]

#Hier lasse ich ein paar Zeilen aus bis wir zur GPU kommen

Do you want to probe the I2C/SMBus adapters now? (YES/no): yes
Using driver `i2c-i801' for device 0000:00:1f.3: Intel Patsburg (PCH)

Next adapter: SMBus I801 adapter at f000 (i2c-0)
Do you want to scan it? (YES/no/selectively): yes

Next adapter: NVIDIA i2c adapter 0 at 2:00.0 (i2c-1)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: NVIDIA i2c adapter 6 at 2:00.0 (i2c-2)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: NVIDIA i2c adapter 8 at 2:00.0 (i2c-3)
Do you want to scan it? (yes/NO/selectively): yes
Client found at address 0x49
Probing for `National Semiconductor LM75'...                No
Probing for `National Semiconductor LM75A'...               No
Probing for `Dallas Semiconductor DS75'...                  No
Probing for `National Semiconductor LM77'...                No
Probing for `Analog Devices ADT7410/ADT7420'...             No
Probing for `Maxim MAX6642'...                              No
Probing for `Texas Instruments TMP435'...                   No
Probing for `National Semiconductor LM73'...                No
Probing for `National Semiconductor LM92'...                No
Probing for `National Semiconductor LM76'...                No
Probing for `Maxim MAX6633/MAX6634/MAX6635'...              Success!
    (confidence 2, driver `lm92')
Probing for `NXP/Philips SA56004'...                        No
Probing for `SMSC EMC1023'...                               No
Probing for `SMSC EMC1043'...                               No
Probing for `SMSC EMC1053'...                               No
Probing for `SMSC EMC1063'...                               No

Next adapter: NVIDIA i2c adapter 10 at 2:00.0 (i2c-4)
Do you want to scan it? (yes/NO/selectively): yes
Adapter cannot be probed, skipping.
Next adapter: NVIDIA i2c adapter 12 at 2:00.0 (i2c-5)
Do you want to scan it? (yes/NO/selectively): yes
Adapter cannot be probed, skipping.

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `lm92':
  * Bus `NVIDIA i2c adapter 8 at 2:00.0'
    Busdriver `nvidia', I2C address 0x49
    Chip `Maxim MAX6633/MAX6634/MAX6635' (confidence: 2)

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
lm92
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/modules? (yes/NO)yes
Successful!

Monitoring programs won't work until the needed modules are
loaded. You may want to run '/etc/init.d/kmod start'
to load them.

Unloading cpuid... OK

imhoteph@T3610:~$ /etc/init.d/kmod start
Starting kmod (via systemctl): kmod.service.
imhoteph@T3610:~$ nvidia-smi
Fri Jan 31 23:12:32 2025       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro K2000        Off  | 00000000:02:00.0  On |                  N/A |
| 32%   49C    P0    N/A /  N/A |    405MiB /  1998MiB |      6%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2191      G   /usr/lib/xorg/Xorg                159MiB |
|    0   N/A  N/A      2355      G   /usr/bin/gnome-shell               85MiB |
|    0   N/A  N/A      3438      G   ...40a731e7d47bdd4cb3a3fb1a8       55MiB |
|    0   N/A  N/A      4812      G   ...b/thunderbird/thunderbird       98MiB |
+-----------------------------------------------------------------------------+
imhoteph@T3610:~$ 

Leider sehe ich nach wie vor keine GPU Infos in gtop

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Mach mal einen Reboot, damit sensors funktioniert. Im Terminal dann:

/usr/bin/sensors

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
imhoteph@T3610:~$ /usr/bin/sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +52.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:        +48.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:        +50.0°C  (high = +86.0°C, crit = +100.0°C)
Core 2:        +51.0°C  (high = +86.0°C, crit = +100.0°C)
Core 3:        +51.0°C  (high = +86.0°C, crit = +100.0°C)

dell_smm-isa-0000
Adapter: ISA adapter
Processor Fan:  995 RPM  (min =    0 RPM, max = 4520 RPM)
Other Fan:      617 RPM  (min =    0 RPM, max = 4260 RPM)
Other Fan:      608 RPM  (min =    0 RPM, max = 4260 RPM)
Other:          +51.0°C  
Other:              N/A  
SODIMM:         +43.0°C  
SODIMM:         +37.0°C  
Ambient:        +16.0°C  
Ambient:        +16.0°C  
CPU:            +40.0°C  
CPU:                N/A  
Ambient:        +40.0°C  
Ambient:        +41.0°C  

imhoteph@T3610:~$ btop

btop siehe anhang

Bilder

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Was für eine Version ist das BTOP++, wie ist es installiert worden, und ist es mit musl oder mit glib gebaut?

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

ich habe die Installationsdatei wie in der btop github Hilfe beschrieben heruntergeladen. Diese Version: https://github.com/aristocratos/btop/releases/download/v1.4.0/btop-x86_64-linux-musl.tbz Dann entpackt und installiert mit

1
sudo make install

Version ist 1.4.0 (siehe Screenshot) musl oder glib weiß ich nicht... was nimmt denn make?

Bilder

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Standard auf Ubuntu ist die glib, also die GNU C Library. Die Binaries dort sind aber mit musl gebaut.

See Compilation Linux for more info on how to compile with gpu monitoring support.

Ich baue und installiere mir BTOP++ sehr bequem frisch aus dem GIT mit einem alias in der $HOME/.bahsrc:

alias bneu='INSTALLATIONSDISK=$HOME/Installationsdisk && \
                        BTOP_BASE=$HOME/Installationsdisk/btop++ && \
                        BTOP_SRC=$BTOP_BASE/btop && \
                        [ ! -d $INSTALLATIONSDISK ] && mkdir -pv $INSTALLATIONSDISK || echo "$INSTALLATIONSDISK exists" && \
                        [ ! -d $BTOP_BASE ] && mkdir -pv $BTOP_BASE || echo "$BTOP_BASE exists" && \
                        [ ! -d $BTOP_SRC ] && git clone https://github.com/aristocratos/btop.git $BTOP_SRC && \
                        printf "\n \033[45m\033[1;36m==> BTOP++ Sourcecode cloned. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" || \
                        printf "\n \033[45m\033[1;36m==> BTOP++ Sourcecode found. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        printf "\n \033[45m\033[1;36m==> Update BTOP++ Sourcecode. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        git -C $BTOP_SRC pull && echo "git pull done." || echo "No git pull." && \
                        printf "\n \033[45m\033[1;36m==> Uninstall old BTOP++. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        sudo make uninstall PREFIX=/usr -C $BTOP_SRC && echo "Old BTOP++ uninstalled." || echo "Can´t BTOP++ uninstall." && \
                        printf "\n \033[45m\033[1;36m==> Compile BTOP++. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        [ -d $BTOP_SRC/obj ] && yes | rm -rf $BTOP_SRC/obj && echo "Builddir removed, OK" || echo "No need remove Builddir, OK." && \
                        mkdir -pv $BTOP_SRC/obj && \
                        sudo mount -v tmpfs $BTOP_SRC/obj -t tmpfs -o mode=777 && \
                        [ -d $BTOP_SRC/bin ] && yes | rm -rf $BTOP_SRC/bin && echo "Builddir removed, OK" || echo "No need remove Builddir, OK." && \
                        mkdir -pv $BTOP_SRC/bin && \
                        sudo mount -v tmpfs $BTOP_SRC/bin -t tmpfs -o mode=777 && \
                        time make -j $(nproc --all) -C $BTOP_SRC \
                        ADDFLAGS=-march=native STRIP=true OPTFLAGS="-O3 -ftree-loop-vectorize -flto=`nproc --all` \
                        -fcf-protection=full -fuse-ld=mold -Wno-dangling-reference" && \
                        printf "\n \033[45m\033[1;36m==> Install fresh BTOP++. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        sudo porg -lp btop "make install -j $(nproc --all) PREFIX=/usr -C $BTOP_SRC" && \
                        printf "\n \033[45m\033[1;36m==> setuid for BTOP++ binary. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
                        sudo make PREFIX=/usr setuid -C $BTOP_SRC && \
                        printf "\n \033[45m\033[1;36m==> BTOP++ successful install. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" && \
                        printf "\n \033[45m\033[1;36m==> BTOP++ deinstall: \033[0m\033[43m\033[1;36m sudo porg -rv btop   <== \033[0m \n \n" || \
                        printf "\n \033[41m\033[1;36m==> BTOP++ build or install failed.\033[0m \n \n"
                        cd $HOME ; \
                        sudo umount -v $BTOP_SRC/obj ; \
                        [ -d $BTOP_SRC/obj ] && yes | rm -rf $BTOP_SRC/obj && echo "Builddir cleaned." || echo "Builddir was clean." ; \
                        sudo umount -v $BTOP_SRC/bin ; \
                        [ -d $BTOP_SRC/bin ] && yes | rm -rf $BTOP_SRC/bin && echo "Builddir cleaned." || echo "Builddir was clean." ; \
                        cd $HOME'

Außer dem üblichen Klimbim zum compilern:

... nutzt das auch mold als Linker, und porg zur Verwaltung, siehe im Wiki:

Nach dem hinein editieren vom alias in die $HOME/.bahsrc muss diese neu eingelesen werden:

source $HOME/.bahsrc

Dann ist der alias zur Nutzung bereit.

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

Danke für deinen alias. Wieso erzeugst du ein tempfs und mountest das um zu compilieren?

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

tmpfs im Arbeitspeicher ist um riesige Größenordungen schneller als jede noch so gute SSD. Und obendrein schont es die SSD, ist doch beim compilern viel zu schreiben und dann wieder zu löschen. Es wäre doch Unsinn, das alles unnötig auf den Massenspeicher schreiben zu lassen zum ausbremsen und Verschleiß verursachen, so lange man das auch im Arbeitsspeicher erledigen kann.

Imhoteph

(Themenstarter)
Avatar von Imhoteph

Anmeldungsdatum:
11. Juni 2011

Beiträge: 114

Wohnort: Schwarzwald

Leider hat auch das deinstallieren und compilieren auf deine Weise nicht zum gewünschten Ergebnis geführt.

Die Version ist auch die gleiche.

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5452

Ist es konfiguriert? Siehe Anhänge.

Bilder
Antworten |