Easily Check NVMe SSD Temperature in Linux

This simple tutorial shows how you can check the temperature of your NVMe SSD on Linux using both terminal and GUI methods.
Warp Terminal

Recently, NVMe, short for Non-Volatile Memory Express drives, has become the go-to storage option for modern desktops. Unlike traditional hard drives, NVMe drives are significantly faster, allowing for quicker boot times, faster file transfers, and smoother overall performance.

Like all other functional devices, NVMe devices also heat upon usage. If they heat too much, it will degrade the performance of your system.

Let me show how you can monitor the temperature of SSDs in Linux-based operating systems.

nvme-cli: The go-to tool to check NVMe stats

The nvme-cli is a simple tool that lets you control and manage your NVMe SSD drive right-from the terminal. It gives you more control over its performance and behavior.

With this nifty tool, you can optimize your drive for better performance, troubleshoot issues, and do much more.

In this quick tutorial, I will use this tool to measure the temperature of NVMe SSDs.

Install nvme-cli

If you are using Ubuntu or any other Debian-based Linux distribution, nvme-cli is available in the official repositories. To install, just run:

sudo apt install nvme-cli

The nvme-cli tool is available in the official repositories of all major Linux distributions. You can use the respective package managers to install the package.

Listing the NVMe drives in the system

In order to check the temperature, you need the NVMe device name. This is not the manufacturing name, instead the NVMe block device location on Linux.

To find the drives in the system, use the nvme command.

nvme list | cut -d' ' -f1

This will list all the NVMe device names.

List all the NVMe drives discovered by the kernel, using the "nvme" command.
List NVMe Drives

As you can see, we got the name of the NVMe device. Also, you can use the lsblk command to list all the drives attached and then find the name of NVMe from there.

lsblk | grep "nvme"
Listing the Drives using lsblk command. From this list, use the grep command to filter only NVMes.
Listing Drives using lsblk command.
🚧
You should note that nvme0 should be used as /dev/nvme0. If the /dev is omitted, nvme-cli won't show output, and results in a syntax error.

Checking the temperature of SSDs

Now you know the name of the drive you want to check, let's check the temperature.

The syntax used to check the temperature is:

sudo nvme smart-log <device-name> | grep -i '^temperature'

Here, replace the <device-name> with the name you have found in the earlier step. For me, it will be:

sudo nvme smart-log /dev/nvme0 | grep -i '^temperature'
πŸ“‹
The nvme0 is the top-level device file. The nvme0n1, nvme0n2, etc. are name spaces. Since temperature is a physical property of the drive, to check the temperature of a drive, you can use the top-level device file.
Get the temperature of the specified NVMe drive using the nvme command.
NVMe temperature monitor (Click to enlarge the image)

Other tools to check SSD temperature

While nvme-cli is the comprehensive tool to check the temperature, a few alternative solutions offer a more convenient GUI. Let's see them.

Vitals, the GNOME extension

If you are a GNOME user, Vitals is a must extension. It is not limited to temperature, instead it offers a whole lot of other system monitors.

On the panel, click on the temperature option to expand the temperature monitors. From there, you can monitor the NVMe temperature in real time.

NVMe temperature in Vitals GNOME Extension
NVMe Temperature in Vitals

Hardinfo2

Hardinfo2 is a system information and benchmark tool. You can use this to know the temperature of your devices.

You can go to the sensors page under the Devices section for the purpose.

Get NVMe temperature using Hardinfo2 system information and benchmark tool.
NVMe temperature - hardinfo2

Conclusion

The nvmi-cli tool is an awesome tool for your NVMe SSDs on Linux. I prefer it for its simplicity. Not everyone would be comfortable with a CLI tool and hence I added a couple of GUI options.

On a similar note, you may want to know a thing or two about checking CPU temperature on your Linux system.

How to Check CPU Temperature in Ubuntu Linux
Learn the GUI and terminal methods of monitoring the CPU temperature in Ubuntu and other Linux distributions.

And something about checking NPU usage, too.

Check Rockchip NPU Usage on Linux
Here’s how you can monitor the NPU usage of Rockchip devices.
About the author
Sreenath

Sreenath

Linux tinkerer by day, Lord of the Rings fanatic by night. When I'm not busy conquering the command line, you can find me kicking back and watching some football while quoting JRR Tolkien

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.