How to check NVME SSD temperature in Linux

Recently I bought a Dell Latitude E7470 for all of the Linux testing, it came with the SK hynix SC300 M.2 2280 256GB SSD. The Sk hynix SC300 via SATA interface has read speed around 510 MB/s and write speed around 380 MB/s (SATA 3.0 interface speed is around 600MB/s which with overhead likely what your get in real life is around 550MB/s). After doing some research, I found out Dell Latitude E7470 does support both SATA 3.0 & PCIe interfaces via M.2 connector. Unfortunately Dell Latitude E7470’s M.2 only support up to PCIe x2, not full 4 lanes PCIe x4. Anyway I still want to upgrade my SSD to a larger and faster one. At the time I didn’t know which NVME SSD is “okay” to purchase, after quite some days I decided to go with Samsung PM981 NVME SSD (the actual model number will be shown below).

The laptop I bought came with Windows 10 preinstalled. So before I installed Kubuntu 18.04 LTS, I downloaded CrystalDiskInfo to check all details about the Samsung PM981 NVME SSD I upgraded. I didn’t take any screenshot but CrystalDiskInfo gave me the Samsung PM981’s temperature was around 50’c which is quite high while the laptop was idle. After finishing installing Kubuntu, I want to check again the new NVME SSD temperature in Kubuntu, to do so I installed nvme-cli and smartmontools to check NVME SSD temerature in Kubuntu. Both vnme-cli and smartmontools give me similar results but much lower than CrystalDiskInfo in Windows 10.

Checking NVME SSD temperature with nvme-cli

nvme-cli is a new greate tool to see more information about your NVME SSD. It supports several Linux distributions, check out their github for more info.

To install nvme-cli on Ubuntu distributions

$ sudo apt install nvme-cli

To install nvme-cli on Fedora

$ sudo dnf install nvme-cli

To list all nvme in your Desktop or Laptop

$ sudo nvme list

This is the output on my laptop

Node             SN                   Model                                    Namespace Usage                      Format           FW Rev                                                                                                                                    
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------                                                                                                                                  
/dev/nvme0n1     S3TNNB0K430679       SAMSUNG MZVLB512HAJQ-000L7               1          56.24  GB / 512.11  GB    512   B +  0 B   4L2QEXA7  

To see more info about your drive (your NVME SSD name usually nvme0, nvme1, …. and so on depends how many drive you have in your system.

$ sudo nvme smart-log /dev/nvme0n1

and its output

Smart Log for NVME device:nvme0 namespace-id:ffffffff                                   
critical_warning                    : 0                                                 
temperature                         : 32 C                                              
available_spare                     : 100%                                              
available_spare_threshold           : 10%                                               
percentage_used                     : 1%                                                
data_units_read                     : 19,744,499                                        
data_units_written                  : 15,832,424                                        
host_read_commands                  : 242,069,968                                       
host_write_commands                 : 211,236,537                                       
controller_busy_time                : 844                                               
power_cycles                        : 372                                               
power_on_hours                      : 1,117                                             
unsafe_shutdowns                    : 130                                               
media_errors                        : 0                                                 
num_err_log_entries                 : 1,174                                             
Warning Temperature Time            : 0                                                 
Critical Composite Temperature Time : 0                                                 
Temperature Sensor 1                : 32 C                                              
Temperature Sensor 2                : 33 C                                              
Thermal Management T1 Trans Count   : 0                                                 
Thermal Management T2 Trans Count   : 0                                                 
Thermal Management T1 Total Time    : 0                                                 
Thermal Management T2 Total Time    : 0

Checking NVME SSD temperature with smartmontools

smartmontools is another great tool to monitor smart/health information about your HDD / SSD drives. From what I read, some of new NVME SSD will not work well with smartmontools but you should try because it’s a great tool with many info. While smartctl might not know all vendor-specific smart values, you can Google the drive model with “smart attributes” and find documents about specific attributes to get more details.

To install smartmontools in Ubuntu distributions

$ sudo apt install smartmontools

To install smartmontools in Fedora

$ sudo dnf install smartmontools

To run smartmontools

$ sudo smartctl -A /dev/nvme0

and its output

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.18.0-15-generic] (local build)                                                                                                                                                                                                   
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                               
=== START OF SMART DATA SECTION ===                                                                                                                                                                                                                                            
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)                                                                                                                                                                                                                      
Critical Warning:                   0x00                                                                                                                                                                                                                                       
Temperature:                        34 Celsius                                                                                                                                                                                                                                 
Available Spare:                    100%                                                                                                                                                                                                                                       
Available Spare Threshold:          10%                                                                                                                                                                                                                                        
Percentage Used:                    1%                                                                                                                                                                                                                                         
Data Units Read:                    19,744,545 [10.1 TB]                                                                                                                                                                                                                       
Data Units Written:                 15,833,242 [8.10 TB]                                                                                                                                                                                                                       
Host Read Commands:                 242,070,669                                                                                                                                                                                                                                
Host Write Commands:                211,250,520                                                                                                                                                                                                                                
Controller Busy Time:               844                                                                                                                                                                                                                                        
Power Cycles:                       372                                                                                                                                                                                                                                        
Power On Hours:                     1,117                                                                                                                                                                                                                                      
Unsafe Shutdowns:                   130                                                                                                                                                                                                                                        
Media and Data Integrity Errors:    0                                                                                                                                                                                                                                          
Error Information Log Entries:      1,174                                                                                                                                                                                                                                      
Warning  Comp. Temperature Time:    0                                                                                                                                                                                                                                          
Critical Comp. Temperature Time:    0                                                                                                                                                                                                                                          
Temperature Sensor 1:               34 Celsius                                                                                                                                                                                                                                 
Temperature Sensor 2:               37 Celsius

Too see all of the output parameters’s descriptions, you can visit https://nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf , section 5.10.1.2 in spec version 1.2a.

Leave a Reply

%d bloggers like this: