Dedicated servers · Question & answer

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.

AdvancedLinux on a dedicated server; hardware capabilities depend on the server model
Go to the answer

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.

Remote Linux shell
sudo nvme list

Match 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.

Remote Linux shell
sudo nvme smart-log /dev/nvme0

Review 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.