SSD 的存储单元有一定的使用寿命,这是因为它们采用了闪存芯片。每个存储单元在经历一定数量的写入操作后会逐渐磨损,可能引发坏块或数据丢失等问题。
一旦你观察到一些问题,比如加载速度变慢、读写取速度变慢,甚至无法识别或数据丢失,就应及时关注 SSD 的健康状况。这样一来,一旦发现问题,才有足够的机会在硬盘完全故障之前保全重要数据。
推荐阅读:
SSD 使用寿命解读
SSD 即将挂掉的 5 种征兆
获取驱动器名称
无论你使用哪个 Linux 发行版,首先要做的是获取 SSD 的设备名称,这是运行 SSD 健康检查工具所必需的信息。
在 Linux 系统中,有很多工具可供选择,比如在我的示例中,使用了 lsblk
命令。当然,你也可以选择使用 cfdisk
、df
、hwinfo
、fdisk
、sfdisk
或 lshw
。
使用 lsblk 获取驱动器名称
在继续之前,请记住想要检查的 SSD 的设备名称。通常,通过查看其存储容量就可以轻松区分它们。
方法 1:使用「磁盘」工具监测 SSD 健康状态
1「磁盘」工具提供了一种通过图形用户界面检查 SSD 健康状况的便捷方式,大多数 Linux 发行版通常默认安装了这个工具。如果你的系统尚未安装,可以在「终端」中运行以下命令来进行安装:
sudo apt install gnome-disk-utility
2选择硬盘后,点击右上角的三个点菜单。接着,选择「SMART 数据与自检」。
使用「磁盘」工具监测 SSD 健康状况
3点击新窗口底部的「开始自检」,然后查看结果。理想情况下,SMART 评估应为「良好」。
方法 2:使用 smartctl 工具检查 SSD 健康状态
要使用 smartctl 命令行工具,需要安装 smartmontools。这个工具支持 Ubuntu、Debian、LinuxMint、Fedora、RHEL 和 CentOS 等多个发行版。
1使用以下命令在 Linux 上安装 smartmontools
:
-
Ubuntu 和 Debian
sudo apt install smartmontools
-
RHEL 和 CentOS
sudo yum install smartmontools
-
Fedora
sudo dnf install smartmontools
2安装完成后,执行以下命令,但记得将 sda 替换为实际的驱动器名称:
sudo smartctl -t long -a /dev/sda
使用 smartctl 工具检查 SSD 健康状况
smartctl 工具可以获取可用驱动器的 SMART 属性。-t long
选项指示工具运行长时间测试(1-2 小时),而 -t short
选项指示工具运行较短的测试(大约两分钟)。
如果遇到 SMART 在驱动器上未启用的错误,请执行以下命令(将 sda 替换为实际驱动器名称):
sudo smartctl -s on /dev/sda
在短测试中,可能无法看到完整的属性列表,而只能看到通过/失败的结果或「无错误完成」的结果。对于更长的测试,结果中需要特别关注的一些属性包括:
-
Temperature_Celsius
-- 温度的最小值和最大值应该相同或接近。极端的温度波动可能表示硬盘、电源、CPU 或其他硬件出现了问题。 -
Reallocated_Sector_Ct
-- 指示你的固态硬盘(SSD)有多少坏扇区需要重新映射。数字越高,说明 SSD 距离失效越近。 -
Media_Wearout_Indicator
-- 这表示驱动器基于其平均寿命周期而接近失效的程度。最高值是100(纯理想状态)。如果该数值接近 0,那就意味着需要立即更换硬盘了。 -
Reported_Uncorrect
-- 这一属性告诉你遇到了多少无法修复的错误。错误数量较多是一个不好的迹象。
方法 3:使用 nvme-cli 测试 NVMe 固态硬盘
以上方法并非适用于所有类型的固态硬盘。如果要在 Linux 下检查 NVMe 驱动器的健康状况,可以使用 nvme-cli 工具。它类似于 smartctl,可以获取 NVMe 驱动器的 SMART 属性、温度、使用情况等信息。
1在 Ubuntu 和基于 Debian 的发行版中安装该工具的方法是在「终端」中运行以下命令:
sudo apt install nvme-cli
对于 Fedora 或 CentOS 和 RHEL 发行版,请将 apt
替换为 dnf
或 yum
。
2安装成功后,请运行以下命令以测试驱动,记得将 sda 替换为你的驱动器名称:
sudo watch -n 1 nvme smart-log /dev/sda
使用 nvme-cli 测试 NVMe 固态硬盘
在这个命令中,watch -n 1
指示工具每秒检查一次 SMART 日志。nvme
部分表示驱动的类型,而 smart-log
部分告诉工具要检查 SMART 日志。
运行完工具后,通过查看以下结果,可以更好地了解 Linux 中的 SSD 健康状况:
-
temperature
-- 正常范围是 30°C 到 65°C。通常情况下,会保持在 30°C 到 40°C 的范围内。 -
percentage_used
-- 这个数字应尽可能低。一旦超过一半,你的 SSD 可能会有问题。 -
media_errors
-- 少量错误不用太担心。但是,如果开始看到更多的错误,表示驱动器中有更多的不可读部分。
方法 4:使用「KDE 分区管理器」检查 SSD 健康状态
KDE 分区管理器是一个图形化工具,可以用于管理 Linux 分区和驱动器。除了创建新的 Linux 分区外,它还像 GNOME「磁盘」工具一样,支持对驱动器进行 SMART 检查。
该工具在 Ubuntu、Debian、CentOS、Fedora、RHEL、OpenSUSE、ArchLinux 和 Gentoo 上都可以使用,可以通过上述链接的源代码页面找到每个发行版的完整命令。
1以 Ubuntu 为例,使用以下「终端」命令来安装 KDE 分区管理器:
sudo apt install partitionmanager
2安装完成后,在应用程序列表中找到并打开「KDE 分区管理器」。然后转到「设备」-「SMART 状态」。
使用「KDE 分区管理器」检查 SSD 健康状况
理想情况下,SMART 评估应为「良好」。同时,要关注温度和坏道情况。如果温度过高或存在大量坏道,可以考虑更换固态硬盘。
方法 5:使用 GSmartControl 检查 SSD 健康状态
如果你喜欢 smartctl 的功能,但更喜欢图形化界面,那么可以试试 GSmartControl。它兼容大多数主流的 Linux 发行版。
1按照你的发行版提供的说明安装 GSmartControl。
2安装完成后,启动 GSmartControl。它会列出所有可用的驱动器,即使有些可能不支持 SMART 监控。
3点击你想查看更多详细信息的驱动器,然后选择「Attributes」选项卡,它将以更直观的方式呈现与 smartctl 大致相同的详细信息。
使用 GSmartControl 检查 SSD 健康状况
GSmartControl 提供了一个直观的界面,可以帮助你理解 SMART 属性的含义。想要更全面地了解你的 Linux SSD 健康状况,可以查看一些其他标签,比如温度日志。
别忘了点击「自检」标签,运行更多的测试,将与在「终端」使用 smartctl 时看到的数据结果类似。可以尝试运行较短和较长期的测试,以获取更详细的信息。
相关阅读:如何检查 macOS SSD 健康状态