Updated: 12 October 2026 · Applies to: lm-sensors 3.6 on Ubuntu 24.04 and 26.04, Debian 13, AlmaLinux 10 and Fedora 44, ipmitool 1.8.19, tested
The Linux command to check CPU temperature is sensors, from the lm-sensors package. Install it with sudo apt install lm-sensors (Ubuntu, Debian, Kali) or sudo dnf install lm_sensors (AlmaLinux, Rocky Linux, Fedora), then run sensors. It prints every temperature the kernel can read: the processor package and each core on Intel, Tctl on AMD. This only works on real hardware (a PC, laptop or dedicated server). A VPS has virtual CPUs and no temperature sensors, so there sensors answers No sensors found!.
1. Install lm-sensors and run sensors
- Install the package:
# Ubuntu, Debian, Kali Linux sudo apt update sudo apt install lm-sensors # AlmaLinux, Rocky Linux, RHEL, Fedora sudo dnf install lm_sensors
- Show the temperatures:
sensors
- To keep them on screen, refreshed every 2 seconds (press Ctrl+C to stop):
watch -n 2 sensors
Useful options (lm-sensors 3.6.0 and 3.6.2):
sensors -f: degrees Fahrenheit instead of Celsius.sensors -j: JSON output, for scripts and monitoring tools.sensors -A: hides the "Adapter" line under each chip.
2. Read the output
The labels depend on the CPU driver, according to the Linux kernel documentation:
- Intel (driver
coretemp):Package id 0is the whole processor,Core 0,Core 1and so on are single cores.highis the maximum recommended operating temperature andcritis the maximum junction temperature, beyond which the CPU protects itself. - AMD (driver
k10temp):Tctlis a control value for the cooling system, not a measured temperature.Tccd1,Tccd2and so on are the measured temperatures of each core die, on CPUs that report them. - Other entries belong to the motherboard, drives or fans.
Compare the reading with the high and crit values that sensors prints for your own CPU. A CPU that runs close to high under normal load needs better cooling: clean the fans and heatsink and check the airflow.
3. If sensors finds nothing on a PC or dedicated server
sensors needs a kernel driver for each chip. Load the CPU driver by hand and try again:
sudo modprobe coretemp # Intel sudo modprobe k10temp # AMD sensors
On a desktop or laptop you can also run sudo sensors-detect, which scans for monitoring chips and suggests drivers (--auto takes the default answer to every question). Its own manual warns that probing can upset some chips and says not to run it on production servers. On a server, load the driver as above or use IPMI (step 6).
4. Read the temperature without installing anything
The kernel exposes the same readings in /sys:
paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) cat /sys/class/hwmon/hwmon*/temp*_input
The values are in thousandths of a degree Celsius: 48000 means 48 °C. Thermal zones are common on laptops; the hwmon files are what sensors reads.
5. Why a VPS shows "No sensors found!"
Lab example from our KVM test VPS (Ubuntu and Debian containers on it):
$ sensors No sensors found! Make sure you loaded all the kernel drivers you need. Try sensors-detect to find out which these are. $ lscpu | grep -E 'Hypervisor vendor|Virtualization type' Hypervisor vendor: KVM Virtualization type: full $ cat /sys/class/hwmon/hwmon*/temp*_input cat: '/sys/class/hwmon/hwmon*/temp*_input': No such file or directory
The hypervisor gives a VPS virtual CPUs and passes no temperature sensors through, so there is nothing to read, and installing drivers or running sensors-detect does not change that. The physical host is monitored outside your VPS. Inside a VPS, watch CPU load instead: see How to List Running Processes in Linux (ps, top, htop and pgrep).
6. Dedicated servers: IPMI sensor readings
Server boards with a BMC (IPMI) have their own sensors for the CPUs, board, memory and fans, which the BMC reads independently of the operating system. On the server itself, as root:
sudo apt install ipmitool # or: sudo dnf install ipmitool sudo modprobe ipmi_devintf sudo modprobe ipmi_si sudo ipmitool sdr type Temperature
From another computer over the network, with the BMC address and user (here 203.0.113.10 and ADMIN as placeholders):
export IPMI_PASSWORD='your-bmc-password' ipmitool -I lanplus -H 203.0.113.10 -U ADMIN -E sdr type Temperature
-E reads the password from the IPMI_PASSWORD variable, so it is not part of the command. ipmitool sdr type list shows the other sensor types and ipmitool sensor lists all sensors with their thresholds. Without a BMC (a VPS or a container), ipmitool stops with:
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Ucartz unmanaged dedicated servers come with free IPMI KVM access. For the Supermicro BMC console, see How to Install an OS Using Supermicro IPMI: HTML5 iKVM Console and Virtual Media ISO.
7. Disk and GPU temperatures
- hddtemp is gone: Debian 13 and Ubuntu 24.04 and 26.04 have no installable hddtemp package (Fedora 44 still ships it). Use
sudo smartctl -A /dev/sdainstead, which lists the drive attributes including its temperature: see How to Install and Use smartctl (smartmontools) on Linux and How to Monitor Disk Health with smartd and smartctl (S.M.A.R.T.). - Drive temperatures in sensors:
sudo modprobe drivetemploads the kernel driver that reports the temperature of SATA hard disks and SSDs with a sensor, whichsensorsthen shows with the CPU. - NVMe drives:
sudo nvme smart-log /dev/nvme0(package nvme-cli) prints the drive health log, including its temperature. - NVIDIA GPUs: see How to monitor GPU usage, memory and temperature on a GPU server?
8. Ubuntu desktop: a temperature graph with Psensor
To check the temperature on an Ubuntu desktop without the terminal, install Psensor once and open it from the applications menu:
sudo apt install psensor
Psensor draws a graph per sensor. It reads the same sensors as the sensors command, and its package also pulls in the S.M.A.R.T. and NVIDIA libraries for drive and GPU temperatures. It is packaged for Ubuntu 24.04 (1.1.5), Ubuntu 26.04 and Debian 13 (1.2.1), but not for AlmaLinux 10 or Fedora 44. On a server, use the commands above.
For other hardware details (board, memory slots, serial numbers), see How to Get Hardware Information with Dmidecode Command on Linux?
Official documentation: coretemp, k10temp, sensors-detect(8), ipmitool(1).