The Problem

NVMe drives don’t show up in the usual df or lsblk health output. Windows has CrystalDiskInfo; on Linux there’s no GUI equivalent installed by default. You need to know if your drive is healthy — especially a large data drive holding important files.

The Solution

smartctl from the smartmontools package reads S.M.A.R.T. data directly from NVMe drives.

sudo dnf install smartmontools

sudo smartctl -a /dev/nvme0n1

Replace nvme0n1 with your device (nvme1n1 for the second NVMe, etc.). Use lsblk to find the right device name.

Key metrics to check in the output:

AttributeWhat it means
Percentage UsedDrive wear — 0% is new, 100% is at rated lifespan
Available SpareShould stay above Available Spare Threshold
Power On HoursTotal runtime
Unsafe ShutdownsPower losses without proper shutdown — high numbers stress the drive
Media and Data Integrity ErrorsShould be 0
Critical WarningShould be 0x00

Quick health summary only:

sudo smartctl -H /dev/nvme0n1

Output: SMART overall-health self-assessment test result: PASSED means you’re fine.

List all NVMe devices on the system:

ls /dev/nvme*n1