Disk temperature is worth checking when a drive sits in a cramped bay, runs a long backup, or starts reporting storage warnings under sustained I/O. Heat can shorten drive life or trigger SSD throttling before Linux reports a hard failure, so read the temperature reported by the drive firmware rather than only a case, motherboard, or CPU sensor.

Most physical Linux disks expose thermal data through S.M.A.R.T., which smartctl reads from the whole-disk device. SATA and ATA drives commonly show the current value in an attribute row such as Temperature_Celsius, while NVMe drives usually show a direct Temperature: line in the SMART/Health log.

The check needs sudo on most systems and a storage path that passes SMART data through to the operating system. Install the smartmontools package from the distribution repository if smartctl is missing, and run the check on the host, controller, hypervisor, or enclosure when a virtual disk, cloud volume, hardware RAID mapping, or USB bridge hides the physical drive.

Step-by-step video guide:

Steps to check disk temperature in Linux:

  1. Identify the whole-disk device before reading its SMART data.
    $ lsblk -d -o NAME,SIZE,MODEL,TRAN
    NAME      SIZE MODEL                 TRAN
    sda       1.8T ST2000DM008-2FR102   sata
    sdb     931.5G Samsung SSD 870 EVO  sata
    nvme0n1 476.9G Samsung SSD 980      nvme

    Use a whole-disk path such as /dev/sda, /dev/sdb, or /dev/nvme0n1. Do not use a partition path such as /dev/sda1 because the temperature sensor belongs to the drive, not to one filesystem.

  2. Read a SATA or ATA drive's SMART attributes.
    $ sudo smartctl -A /dev/sda
    smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.14.0] (local build)
    ##### snipped #####
    ID# ATTRIBUTE_NAME          VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
    194 Temperature_Celsius     069   058   000    Old_age   Always       -       31

    The rightmost RAW_VALUE is often the current Celsius temperature for common SATA drives, but SMART raw values are vendor-defined. Some models use names such as Airflow_Temperature_Cel or encode more than one temperature in the raw field.

  3. Read the SMART/Health log on an NVMe drive.
    $ sudo smartctl -A /dev/nvme0n1
    smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.14.0] (local build)
    ##### snipped #####
    SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
    Critical Warning:                   0x00
    Temperature:                        36 Celsius
    Available Spare:                    100%
    Percentage Used:                    2%

    The Temperature: line is the current controller temperature reported by the NVMe device. Some drives also report secondary temperature sensors later in the same SMART/Health output.

  4. Treat a detection error as a storage-path limitation instead of a cool disk.
    $ sudo smartctl -A /dev/vda
    smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.14.0] (local build)
    
    /dev/vda: Unable to detect device type
    Please specify device type with the -d option.
    
    Use smartctl -h to get a usage summary

    Guest-visible virtual disks, cloud volumes, some hardware RAID mappings, and some USB adapters may expose no usable SMART temperature from inside the running Linux system.

  5. Scan for a SMART-capable pass-through path when the disk sits behind a controller or enclosure.
    $ sudo smartctl --scan-open
    /dev/sdc -d sat # /dev/sdc [SAT], ATA device
    /dev/nvme0 -d nvme # /dev/nvme0, NVMe device

    Rerun the temperature check with the device type shown by the scan, such as

    $ sudo smartctl -A -d sat /dev/sdc

    . If the scan returns no usable device, move the check to the host, RAID controller, NAS interface, hypervisor, or enclosure tool that can see the physical drive.

  6. Compare the reported temperature with the drive vendor's operating range.

    Single readings are less useful than the pattern under the same workload. Re-check after improving airflow, moving the disk out of a hot enclosure, or reducing sustained I/O, and investigate repeated high readings or sudden jumps before they become throttling or media-error symptoms.