Is there a command (Via terminal) to see the temperature of any video card.
Already Tried sensors
with the sensors-detect
applied. Does not detect for example, Nvidia and ATI video card temperatures.
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityAn alternative for nvidia cards is to use nvidia-smi: the "NVIDIA System Management Interface program".
user@box:~$ nvidia-smi -q -d temperature
GPU 0:
Product Name : GeForce 210
PCI ID : a6510de
Temperature : 39 C
Or to output just the numeric value in Celsius:
user@box:~$ nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
39
nvidia-settings -q gpucoretemp
is another method.
Apr 1, 2018 at 12:15
nvidia-smi
command hangs until a core is freed? Thus defeating the purpose of 'alarm on meltdown'? Am I reduced to an aftermarket temperature sensor? The 2080Ti GPU apparently won't read its own temperature on 100% usage, and doesn't know to turn on its own fan, nor halt because of >135C literal melting temperatures. Looks like it's time for unpacking their Propitiatory C binaries and do it like they do on blizzard gamedevs. Well played nvidia, angry noises.
Dec 17, 2020 at 3:17
Yes, there is a command.
Detecting sensors
First of all, you have to search for sensors:
sudo apt-get install lm-sensors
sudo sensors-detect
Since lucid lynx, you have to type:
sudo service module-init-tools start
If you're running another Ubuntu version type:
sudo /etc/init.d/module-init-tools start
To save the detection results.
Displaying sensor data
Now, to show the temperatures, type:
sensors
Now you should see something like that:
I don't have many sensors, btw :)
Displaying temperature of NVIDIA GPU
If you are using a NVIDIA GPU type:
sudo apt-get install nvclock
After installing it, type nvclock -T
to display the temperature.
You can also type nvidia-settings -q gpucoretemp
.
I hope this helped you,
sudo apt-get install libsensors3
and then follow my steps again.
The already mentioned command for nvidia (on my OpenElec installation):
nvidia-smi
also gave additional information:
+------------------------------------------------------+
| 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 |
+-----------------------------------------------------------------------------+
If you want to watch the temperature in your terminal for monitoring, you can use watch
with the commands that were given in the other answers (e.g. @drgrog's). For instance, to refresh the temperature every 5 seconds:
watch -n 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
For nvidia there is an nvidia-settings
package, which includes a gui to see the temperature. I don't recall if there is a text-mode tool in there.
Some Intel graphics adapters report their temperature through acpi and you can read it through the sensors
command from the package of the same name.
I have recently found a cool extension for Gnome 3. So if you are using it - you can install this and see the temperature in the tray:
https://extensions.gnome.org/extension/541/nvidia-gpu-temperature-indicator/
I wanted a quick simple way to see the GPU and CPU temps on my computer. I also wanted to see the NVidia temp in fahrenheit. Assuming you already have the nvidia-smi
and sensors
utilities installed, configured and working already (see above for how), you can use the following script to display everything together:
#!/bin/bash
echo ""
echo "GPU Current Temp"
echo "Core 0: +$(( $((`nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader` * 9/5)) + 32))°F"
# nvidia-smi --query --display=TEMPERATURE | grep "GPU Current Temp" --color=none | sed 's/ //g'
echo ""
echo "CPU Current Temp"
sensors coretemp-isa-0000 -f | sed 's/(high.*//g' | tail -n +4 | sed 's/\.[0-9]//g'
NOTE: you may need to change coretemp-isa-0000
to the identifier if your computer uses a different architecture than mine.
The output will look something like:
GPU Current Temp
Core 0: +120°F
CPU Current Temp
Core 0: +167°F
Core 1: +176°F
Core 2: +156°F
Core 3: +152°F
Core 4: +147°F
Core 5: +143°F
This indicator also includes GPU temp (as well as CPU and HDD temps.)
After installing nvclock, just running:
nvidia-settings
On a terminal worked well on GeForce 210 card on top of Ubuntu 14lts. You get a very nice GUI and can check the celsius temperature at GPU 0 > Thermal Settings.
Conky is a light weight (on resources, not features) system monitor popular in Linux. You can use it to constantly display GPU temperature along with other system elements you like to follow.
Most laptops with nVidia GPUs also include an Intel Integrated GPU (iGPU) for use when on battery power.
My Conky display changes depending on whether Intel or nVidia is selected.
Below are GIFs for nVidia and Intel before and running glxgears
to tax the GPU. I'll try to find a more demanding graphics test than glxgears
in the future.
Here's what my Conky looks like when prime-select nvidia
is active:
Initially there is low load on nVidia GPU and it's running at 746 MHz and is 55 degrees Celsius. After running glxgears
GPU speed spikes to max speed of 1037 MHz and temperature climbs to 58 degrees Celsius.
Here's what my Conky looks like when prime-select intel
is active:
Initially there is low load on Intel Integrated GPU (iGPU) and temperature (of CPU) is 49 degrees Celsius. After running glxgears
CPU temperature climbs to 73 degrees Celsius!
Here is the relevant conky code for above:
#------------+
# 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}
$HOME/.conkyrc
. I think this might be outdated