如何检查SSD的运行状况?


81

众所周知,SSD的预定使用寿命有限。因此,对我来说,问题是如何检入(Ubuntu)Linux,SSD的当前健康状况是什么?也许估计需要多长时间?

首选图形工具,但也可以使用命令行工具。

我正在使用Xubuntu 12.04 LTS


1
您可以将输出添加smartctl -i /dev/sda到您的问题吗?
米奇

1
@ dschinn1001不完全正确,仅适用于最新的SSD。根据对磁盘的写入操作量,已知第一代和第二代SSD的使用寿命有限。
若奥·安德烈·

1
来自老式旋转驱动器,我使用了用于测试HD的工具,该工具可以写入和读取所有磁盘几次,这花费了几个小时。似乎没有提到的工具使用这种方法?这样的方法对SSD没有意义吗?好吧,这似乎使SSD记录了自己的体验,然后可以判断其是否出现故障。我理解正确吗?
Mads Skjern 2015年

@MadsSkjern使用badblocks之类的工具检查SSD的状态是完全可行的。但是,有很好的理由不这样做。根据我的经验, SSD 通常会在超过一定写入阈值后发生故障,因此可以执行破坏性的写入测试(例如进行测试)badblocks实际上会缩短驱动器的寿命。
极客长老

Answers:


35

安装Gnome Disk Utility,并检查SMART数据和测试中的耗损次数或类似数值。该数字越高(%,从1到100),SSD越“用完”,这意味着您更有可能遇到问题。但是,如果您有最新的SSD,则不必担心。

通过安装

 sudo apt-get install gnome-disk-utility

通过启动它

菜单->设置->磁盘工具

或通过命令行

sudo gnome-disks

2
是的,我不知道这个名字,因为他们在12.10改变了它
若奥·安德烈·

8
尽管已安装gnome-disk-utility,但Ubuntu 14.04无法识别palimpsest。我也没有在设置中看到磁盘实用程序(齿轮图标)。 palimpsest是一个可怕的名称,名称是否随用户语言(例如,英语与其他语言)不同而变化。
保罗

10
作为给读者的注释;palimpset重命名为gnome-disks(如提到的askubuntu.com/a/623306/4580)。
immeëmosol

2
为什么说“如果您有最新的SSD,则不必担心”?
JFA

2
你把这个倒退了。磨损数从100开始,并随着使用情况而减少,因此,磨损数越高,所使用的LESS越少是SSD,请参见这里:superuser.com/questions/1037644/…–
Logix

48

检查SSD的运行状况

对于基于Ubuntu,Mint或Debian的发行版

# apt-get install smartmontools

您正在寻找Media_Wearout_Indicator。100表示​​您的ssd有100%的寿命,数字越小表示剩余寿命越短。

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

显示您的sdd信息

# smartctl -a /dev/sda

您可以在Nam Huy Linux博客上阅读完整的文章-如何检查Linux上剩余的SSD寿命


1
因此,如果我的价值为199-199,这是否可信?
m4tm4t 2014年

7
该属性未出现在我的SSD中。也许我应该改为查看Wear_Leveling_Count?如:sudo smartctl -a / dev / sda | :grep的Wear_Leveling_Count编辑:确认通过以下的反应askubuntu.com/a/381779/221115
圣何塞戈麦斯

在金斯敦,您有Wear_Range_Delta
phreakbox '16

在KINGSTON SV300S37A240G中,您应该搜索SSD_Life_Left
Herlon Aguiar

布兰卡·希金斯(Blanca Higgins),namhuy.net / 1024 / how-to-check-ssd-life-left.html已死。
–zog先生

35

如果您没有英特尔品牌的SSD:请阅读此内容。

小心 !!-我被'smartmontools'误导了。我有一个三星 SSD,并且smartmonitor /'smartctl'工具很高兴地误报了'233'(十六进制'E9')属性为'Media_Wearout_Indicator';实际上-不,对于三星(和其他制造商)来说,这完全不一样。我发现此论坛和其他论坛的帖子,堆栈交换问题/答案以及超级用户博客似乎都以“英特尔为中心”,只有模糊的暗示“它可能会有所不同”。(相对于任何建议,您需要注意smartmontools对属性的错误和错误标记)。

当我准备将SSD复制到我购买的新硬盘(由于smartmontools告诉我的东西)时,我启动到Windows(我有双启动系统),以便从仅Windows的系统中了解有关SSD的一些信息。三星工具“ Samsung_Magician_v43.exe”不得不告诉我有关我的硬盘的信息,令人震惊的是,它的信息不足。

经过数小时的挖掘-我终于能够运行Windows专用工具:hddgaurdian-'code.google.com/p/hddguardian',然后还有CrystalDiskInfo:惊喜!两种工具都单独告诉我,我的三星SSD很好。(hdd监护人说“ 5星”,而Crystal磁盘“ 98%可以”)。相比之下,smartctl工具将属性以“ decimal- 233 /'hex- E9”明确标记为“ Media Wearout Indicator”(媒体损耗指示器),并告诉我其值为“ 1”或1%-表示(风险)待处理的失败。尽我所能,我进行了挖掘并最终找到了至少来自三星官方的产品:“ http://www.samsung.com/global/business/semiconductor/minisite/SSD/us/download/ 07_Communicating_With_Your_SSD.pdf“该文档确实暗示着三星没有以相同的方式使用'hex E9'/'十进制'233'属性。(Samsung:我非常失望,请修复您的官方软件工具,或者至少使它使用清楚您不提供磨损指示信息!)

此外-如果您既没有Intel SSD也没有Samsung SSD-被警告,此信息似乎在制造商之间会有所不同。(例如,有关我发现的可变程度的唯一有用信息,请参见“ code.google.com/p/hddguardian/wiki/about_reliability”上的属性标签表。)

所谓:如果您没有Intel SSD,请不要 误入smartmonitor提供的错误属性名称标签。也许将来会有所改善,但是默认情况下为Ubuntu 12.04 LTS(2014年4月)默认安装的版本完全失败。与其告诉您“不知道”-smartctl只是错误地标记了属性。我没有找到其他用于Linux的工具来使“正确”的信息透明或清晰。


1
包含指向其SMART属性的Samsung文档的链接的道具。我不知道您提到的其他应用程序是什么或它们有什么用处,但我强烈建议您直接注意属性5(“重新分配的扇区数”),因为这将很好地指示SSD的关闭程度失败,一旦它用完了备用扇区,就必须使用它来替换损坏的扇区,那么您将接近SSD的
停产状态


10

对于基于Debian的计算机上的Kingston驱动器

类似于这个答案执行

# apt-get install smartmontools

但是,当我执行命令以显示驱动器信息时,SMART似乎已被禁用:

# smartctl -a /dev/sda 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-45-generic] (local build)
[ ... ]
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

您需要通过以root用户身份执行以下命令来启用它:

# smartctl -s on -a /dev/sda

然后,您可以通过做一个简短的测试(花了我大约1分钟的时间)来执行自检:

# smartctl -t short -a /dev/sda

或更全面的测试(大约花了我1.5个小时):

# smartctl -t long -a /dev/sda

请注意,在大多数情况下,您无需卸下驱动器即可执行这些测试。如果这样做,请参阅man smartctl

现在,在执行时,smartctl -a /dev/sda您应该会看到一个自我评估测试结果。这可能是您真正需要关心的所有事情:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

如果您喜欢详细信息,您还将看到如下表格:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   095   095   050    Old_age   Always       -       0/178007034
  5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours_and_Msec 0x0032   092   092   000    Old_age   Always       -       7626h+46m+45.580s
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       8
171 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       4
177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       1
181 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0012   100   100   000    Old_age   Always       -       0
189 Airflow_Temperature_Cel 0x0000   030   035   000    Old_age   Offline      -       30 (Min/Max 24/35)
194 Temperature_Celsius     0x0022   030   035   000    Old_age   Always       -       30 (Min/Max 24/35)
195 ECC_Uncorr_Error_Count  0x001c   120   120   000    Old_age   Offline      -       0/178007034
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unc_Soft_Read_Err_Rate  0x001c   120   120   000    Old_age   Offline      -       0/178007034
204 Soft_ECC_Correct_Rate   0x001c   120   120   000    Old_age   Offline      -       0/178007034
230 Life_Curve_Status       0x0013   100   100   000    Pre-fail  Always       -       100
231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
233 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       3498
234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       2885
241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       2885
242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       868

如果要查找所有这些值的含义,请参阅Kingston文档


如果您要拒绝投票,请至少发表评论...
Mike

1
并非所有的金士顿固态硬盘都支持它们。一些不支持的字段(例如我的UV400)似乎在它们不支持的字段中显示随机数。
otus '16

答案缺少有关智能细节的一些更有用的提示。只是为了确保读者正确地读取了结果表。简而言之,在我看来,SSD_Life_Left值是最直接的指标。如果为100,则为全新的ssd;如果为1,则为行进式ssd。
mh-cbon

@ mh-cbon由于答案已经比较罗word,我只链接到金士顿文档,因为那里有很多细节。但是,如果您觉得可以改善答案,请随时进行编辑。
迈克

5

Wear_Leveling_Count是要跟踪的正确属性。但是,像其他属性一样,100是BEST值,0是最差。将其视为“剩余寿命百分比”。


3
可能因制造商而异,但这很可能是非常错误的。 在解释微米(也就是至关重要的,如“关键m4”等)代码的本页中,该代码为“所有良好块的平均擦除计数”。 这个数字会随着使用的增加而增加。如果您阅读了有关磨损平衡的文章,您将意识到在驱动器失效之前,它应该至少达到成千上万(即,您可能不会看到它以这种方式消失)。
goldilocks 2014年

2
矿说1461
CMCDragonkai

4

检查SSD状况的最佳方法是遵循制造商的建议。由于不同制造商的产品有所不同,并且可能会随着时间而变化,因此,如果您有顾虑,最好与驱动器制造商联系。根据大多数制造商提供的MTBF等级(JEDEC JESD218A标准定义了方法),SSD可以持续运行一百万小时以上而不会出现问题。

我有几个涵盖了几个制造商。我可以保证SMART属性在制造商之间会有所不同。为了进行比较,下面是来自OCZ的示例和来自Corsair F40单元的智能数据,并讨论了该数据的不可靠性。

尽管SMART数据肯定具有价值,但由于所有设备最终都将失败,所以重要的是您要定期备份数据。这使您可以放心,在等待(可能长达数年)SSD发生故障时,数据是安全的。随着成本的下降和容量的增加,由于空间限制而不是故障,您更换SSD的可能性更大。(以我的经验,可能性是原来的10倍)。我只需要定期备份就可以了,不必担心。

资料来源:

经验,http://www.hardcoreware.net/mtbf-ssd-what-does-it-mean-for-you/


0

对于(至少一些)NVMe驱动器,您可以执行

smartctl -a /dev/nvme0

然后,您可以查找以下内容:

Percentage Used:                    5%

在这里,数字越小越好,这100%意味着驱动器已“磨损”。制造商文档建议,如果您继续使用超出该限制的驱动器,则有可能获得高于100%的数字(例如Seagate的示例,请参阅第12页)。

请注意,如果您使用名称空间或分区设备(例如/dev/nvme0n1或)/dev/nvme0n1p1,它将无法正常工作,而您将收到一条消息,例如Read NVMe SMART/Health Information failed: NVMe Status 0x4002


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.