How do I inspect NVMe health, temperature and wear on a dedicated server?
NVMe health logs can report warnings, temperature, spare capacity, media errors and estimated endurance use. Controller-wide and namespace-specific reporting are not always equivalent. Identify the correct controller first and interpret fields using the device specification and vendor documentation.
Before you start
- nvme-cli is installed and the operator is authorised to inspect the selected NVMe device.
Instructions
1. List the NVMe devices
The inventory distinguishes namespaces and their associated controllers. Do not infer a physical bay from a namespace number alone.
sudo nvme listMatch model and serial information to the provider’s inventory before querying or replacing hardware.
2. Read the controller health log
Replace /dev/nvme0 with the verified controller. This is a read-only log request, not a format, reset or sanitise operation.
sudo nvme smart-log /dev/nvme0Review critical warnings, temperature, percentage_used, available spare and media/data-integrity errors. percentage_used is an endurance estimate, not the percentage of filesystem capacity occupied.
Check the result
- Health values are recorded with the correct controller identity and timestamp, then compared with trends and vendor-supported thresholds.
Troubleshooting
- A namespace-specific request fails
- The device may support only controller-wide reporting for that log. Use its documented capability.
- An error counter is nonzero
- Determine whether it is historical and whether it is increasing; correlate with kernel and application errors.
- A tool suggests reset or format
- Do not use those changing commands as part of a health inspection.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
