Banner of Linux SSD Health Check: Using smartctl and nvme-cli

How to Check SSD Health in Linux: A Comprehensive Guide

Category: Linux

Date: 2 months ago
Views: 159

How to Check SSD Health and Information in Linux

Solid State Drives (SSDs) are crucial components in modern computers, offering faster data access speeds compared to traditional Hard Disk Drives (HDDs). To ensure optimal performance and longevity of your SSD, it is essential to regularly monitor its health and status. This article will guide you through the process of checking SSD health and retrieving relevant information on a Linux system.


Before you begin, ensure you have access to a terminal and administrative privileges (root access or the ability to use sudo). The steps outlined here are applicable to most Linux distributions.

Using smartctl from the smartmontools Package

The smartctl tool, part of the smartmontools package, is widely used for monitoring and managing storage devices. It supports most SSDs and provides comprehensive health information.

1. Install smartmontools

First, install the smartmontools package. The installation command varies depending on your Linux distribution:

  • Debian/Ubuntu:
    sudo apt-get update
    sudo apt-get install smartmontools
  • Fedora:
    sudo dnf install smartmontools
  • Arch Linux:
    sudo pacman -S smartmontools

2. Check SSD Health

After installation, you can use smartctl to check the health status of your SSD. Replace /dev/sdX with your SSD's device identifier (e.g., /dev/sda, /dev/nvme0n1).

To view the overall health of the SSD, use the following command:

sudo smartctl -H /dev/sdX

3. Detailed SSD Information

For more detailed information, including SMART attributes, run:

sudo smartctl -a /dev/sdX

This command provides a comprehensive report, including the SSD model, firmware version, and various health indicators such as temperature, power-on hours, and error rates.

4. Running a Self-Test

You can also initiate self-tests to evaluate the SSD's condition. For a short self-test, use:

sudo smartctl -t short /dev/sdX

For a longer, more thorough test, use:

sudo smartctl -t long /dev/sdX

Check the test results with:

sudo smartctl -l selftest /dev/sdX

Using nvme-cli for NVMe SSDs

If your system uses NVMe SSDs, the nvme-cli tool provides specific commands to retrieve detailed information and health status.

1. Install nvme-cli

Install the nvme-cli package using the appropriate command for your distribution:

  • Debian/Ubuntu:
    sudo apt-get update
    sudo apt-get install nvme-cli
  • Fedora:
    sudo dnf install nvme-cli
  • Arch Linux:
    sudo pacman -S nvme-cli

2. Check NVMe SSD Health

To check the health of an NVMe SSD, use:

sudo nvme smart-log /dev/nvme0n1

This command provides detailed health information specific to NVMe drives, including temperature, available spare, data units read/written, and more.

3. Detailed NVMe Information

For detailed device information, use:

sudo nvme id-ctrl /dev/nvme0n1

This command will output the controller information, giving you a deeper insight into your NVMe SSD.


Monitoring the health and status of your SSD in Linux is straightforward with tools like smartctl and nvme-cli. Regular checks can help you preemptively identify potential issues and maintain optimal performance. By following the steps outlined in this guide, you can ensure that your SSD remains in good health, prolonging its lifespan and reliability.

Stay proactive about your SSD's health, and you'll enjoy a more stable and efficient computing experience.


Previous Article Next Article

0 Comments, latest

No comments.