Jak sprawdzić temperaturę karty graficznej (Nvidia, ATI, Intel…)

62

Czy istnieje polecenie (przez terminal), aby zobaczyć temperaturę dowolnej karty graficznej.

Próbowałem już sensorsz sensors-detectzastosowanym. Nie wykrywa na przykład temperatur kart graficznych Nvidia i ATI.

Luis Alvarado
źródło

Odpowiedzi:

60

Tak, jest polecenie.

Wykrywanie czujników

Przede wszystkim musisz wyszukać czujniki:

sudo apt-get install lm-sensors
sudo sensors-detect

Od czasu świadomego rysia musisz wpisać:

sudo service module-init-tools start

Jeśli używasz innego typu wersji Ubuntu:

sudo /etc/init.d/module-init-tools start

Aby zapisać wyniki wykrywania.

Wyświetlanie danych czujnika

Teraz, aby pokazać temperatury, wpisz:

sensors

Teraz powinieneś zobaczyć coś takiego:

Wyniki moich czujników

Nie mam wielu czujników, przy okazji :)

Wyświetlanie temperatury procesora graficznego NVIDIA

Jeśli używasz procesora graficznego NVIDIA:

sudo apt-get install nvclock

Po zainstalowaniu wpisz, nvclock -Taby wyświetlić temperaturę.

Możesz także wpisać nvidia-settings -q gpucoretemp.

Mam nadzieję, że to ci pomogło

omnidan
źródło
5
Dziękuję Daniel, ale czujniki nie wykrywają temperatury wideo w przypadkach takich jak ati i nvidia. powinienem był zadać to pytanie, ale zapomniałem. +1 za kompletny przykład.
Luis Alvarado,
1
@CYREX Po kilku badaniach dowiedziałem się, że pokazuje także temperaturę GPU, jeśli zainstalujesz libsensory3 PRZED wykryciem czujników. Spróbuj: sudo apt-get install libsensors3a następnie ponownie wykonaj moje kroki.
omnidan
Nie mam też szczęścia. Pokazuje tylko temperaturę procesora.
Luis Alvarado,
Niektóre programy wykonane przez nvidia / ati wyświetlają temperaturę GPU.
omnidan
@CYREX Dodałem instrukcje, aby wyświetlić temperaturę procesora NVIDIA, spójrz na moją zredagowaną odpowiedź.
omnidan
76

Alternatywą dla kart nvidia jest użycie nvidia-smi: „programu NVIDIA System Management Interface”.

user@box:~$ nvidia-smi -q -d temperature
GPU 0:
            Product Name            : GeForce 210
            PCI ID                  : a6510de
            Temperature             : 39 C

Lub wyprowadzić tylko wartość liczbową w stopniach Celsjusza:

user@box:~$ nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
39
drgrog
źródło
optirun nvidia-smi -q -d temperatura
Dawid Drozd
Jeśli ktoś tego nie zauważył, nvidia-settings -q gpucoretempto inna metoda.
Mateen Ulhaq
17

Wspomniane już polecenie nvidii (w mojej instalacji OpenElec):

nvidia-smi

podał także dodatkowe informacje:

+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.71   Driver Version: 295.71         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce GT 520            | 0000:01:00.0  N/A    |       N/A        N/A |
|  N/A   52 C  N/A   N/A /  N/A |  17%  169MB / 1023MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           Not Supported                                                 |
+-----------------------------------------------------------------------------+
David
źródło
9

Jeśli chcesz obserwować temperaturę w swoim terminalu do monitorowania, możesz użyć watchpoleceń podanych w innych odpowiedziach (np. @ Drgrog). Na przykład, aby odświeżać temperaturę co 5 sekund:

watch -n 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
BenC
źródło
4

Dla NVIDIA istnieje nvidia-settingspakiet, który zawiera GUI, aby zobaczyć temperaturę. Nie pamiętam, czy jest tam narzędzie trybu tekstowego.

Niektóre karty graficzne Intel zgłaszają swoją temperaturę przez acpi i możesz odczytać ją za pomocą sensorspolecenia z pakietu o tej samej nazwie.

poolie
źródło
1

Temperatura GPU z Conky

Conky jest lekkim (pod względem zasobów, a nie funkcji) monitorem systemu popularnym w systemie Linux. Możesz go używać do ciągłego wyświetlania temperatury GPU wraz z innymi elementami systemu, które chcesz śledzić.

Większość laptopów z procesorami graficznymi nVidia zawiera również zintegrowany procesor graficzny Intel (iGPU) do użytku na zasilaniu bateryjnym.

Mój wyświetlacz Conky zmienia się w zależności od tego, czy wybrano Intel czy nVidia.

Poniżej znajdują się pliki GIF dla nVidii i Intela przed glxgearsopodatkowaniem GPU i przed nimi. Spróbuję znaleźć bardziej wymagający test graficzny niż glxgearsw przyszłości.

Wyświetlacz dla laptopa z aktywną NVIDIA

Oto jak wygląda mój Conky, gdy prime-select nvidiajest aktywny:

GPU temp NVIDIA

Początkowo nVidia ma niskie obciążenie i pracuje z częstotliwością 746 MHz i ma 55 stopni Celsjusza. Po uruchomieniu glxgearsGPU przyspiesza do maksymalnej prędkości 1037 MHz, a temperatura wzrasta do 58 stopni Celsjusza.

Wyświetlacz dla laptopa z aktywną zintegrowaną kartą graficzną Intel

Oto jak wygląda mój Conky, gdy prime-select inteljest aktywny:

procesor graficzny Intel

Początkowo procesor Intel Integrated GPU (iGPU) ma niskie obciążenie, a temperatura (procesora) wynosi 49 stopni Celsjusza. Po uruchomieniu glxgearstemperatura procesora wzrasta do 73 stopni Celsjusza!

Kod Conky

Oto odpowiedni kod conky dla powyższego:

#------------+
# Temperature|
#------------+
#${color1}All CPUs ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${execpi .001 cat /sys/class/thermal/thermal_zone7/temp | cut -c1-2}°C ${alignr}${color1}Up: ${color green}$uptime
# Next line is for kernel >= 4.13.0-36-generic
${color1}All CPUs ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 1 temp 1}°C ${alignr}${color1}Up: ${color green}$uptime
# Next line is for temperature with Kerenel 4.4
#${color1}All CPUs ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 0 temp 1}°C ${alignr}${color1}Up: ${color green}$uptime
${color green}$running_processes ${color1}running of ${color green}$processes ${color1}loaded processes.
${color1}Load Average 1-5-15 minutes: ${alignr}${color green}${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4}
#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_match "intel" == "${execpi 99999 prime-select query}"}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
${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
źródło
0

Po zainstalowaniu nvclock, wystarczy uruchomić:

ustawienia nvidia

Na terminalu działał dobrze na karcie GeForce 210 na Ubuntu 14lts. Otrzymasz bardzo ładny GUI i możesz sprawdzić temperaturę Celsjusza przy GPU 0> Ustawienia termiczne.

Keeper32
źródło