当前位置: 首页>>技术问答>>正文


如何检查SSD的运行状况?

, , ,

问题描述

我们都知道固态硬盘的预定寿命有限。所以我的问题是如何检查(Ubuntu)Linux我的SSD的当前健康状况是什么?也许估计需要多长时间?

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

我正在使用Xubuntu 12.04 LTS

最佳解决方法

安装Gnome Disk Utility并检查wear-leveling-count或类似的SMART数据和测试。该数字越高(%,从1到100),您的SSD的”used up”越多,这意味着您更有可能遇到问题。但是如果你有最近的SSD,你不必担心它。

通过安装

 sudo apt-get install gnome-disk-utility

通过它开始

菜单 – >设置 – >磁盘实用程序

或通过命令行

sudo gnome-disks

次佳解决方法

检查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 Blog – How to check SSD life left on linux上的完整文章

第三种解决方法

如果您没有Intel-brand SSD:请阅读此内容。

小心 !! – 我被’smartmontools.’轻率误导我有三星SSD,而smartmonitor /’smartctl’工具高兴地误报了’233′(hex ‘E9′)属性为’Media_Wearout_Indicator’;事实上 – 不,对于三星(和其他制造商)来说,它完全不同。这个和其他论坛帖子,stack-exchange问题/答案,以及我发现的power-user博客似乎都是’Intel focused,’,只有模糊的提示“它可能会有所不同”。 (任何建议都需要注意smartmontools对属性的错误和错误标记)。

当我准备将我的SSD复制到我买的新硬盘时(因为smartmontools告诉我的),我启动到Windows(我有一个双启动系统),从windows-only三星工具学习一些关于SSD的东西’Samsung_Magician_v43.exe’不得不告诉我有关我的驱动器 – 它令人震惊的没有信息。

经过几个小时的挖掘 – 我终于能够运行Windows工具:hddgaurdian – ‘code.google.com/p/hddguardian’,然后还有CrystalDiskInfo:惊喜!这两个工具独立告诉我,我的三星SSD是’just fine'(硬盘监护人说’5 stars’和Crystal Disk“98%OK”)。相比之下,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’。 (三星:我非常失望,请修复你的官方software-tool,或者至少说明你没有提供磨损指示信息!)

此外 – 如果您既没有英特尔固态硬盘也没有三星固态硬盘 – 请注意,这些信息似乎因制造商而异。 (例如,请参阅“code.google.com/p/hddguardian/wiki/about_reliability”上的属性标签图表,了解我发现的可变程度的唯一有用指示。)

so-what:如果您没有英特尔固态硬盘,请不要被smartmonitor提供的虚假属性名称标签误导。也许它将来会有所改进,但Ubuntu 12.04 LTS(2014年4月)默认安装的版本完全失败。而不是告诉你它’doesn’t知道’ – smartctl只是错误标记了属性。我没有找到另一个使’correct’信息透明或清晰的Linux工具。

第四种方法

对于Debian-based计算机上的金士顿驱动器

类似于this answer执行

# 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分钟)来执行self-test:

# smartctl -t short -a /dev/sda

或者更彻底的测试(花了我大约1.5小时):

# smartctl -t long -a /dev/sda

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

现在,当您执行smartctl -a /dev/sda时,您应该看到self-assessment测试结果。这可能是你真正需要关心的:

=== 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

如果您正在查找所有这些值的含义,请参阅the Kingston documentation

第五种方法

Wear_Leveling_Count是追踪的正确属性。但是,与其他属性一样,100是最佳值,0是最差值。将其视为“剩余百分比”。

第六种方法

检查SSD运行状况的最佳方法是遵循制造商的建议。由于这些因制造商而异,并且可能会随着时间而变化,因此如果您有疑虑,最好与驱动器制造商联系。基于大多数制造商提供的MTBF评级(JEDEC JESD218A标准定义方法),SSD应该可以持续超过一百万小时而没有问题。

我有几个涉及几个制造商。我可以保证SMART属性因制造商而异。为了进行比较,这里是一个来自OCZ Revodrive3 X2的示例和来自Corsair F40单元的智能数据以及discussion关于这些数据的不可靠性的示例。

由于所有设备最终都会失败,重要的是您要定期备份数据。在您等待(可能几年)SSD失败的同时,这可以让您高枕无忧。随着成本的下降和容量的增加,由于空间限制而不是故障,你更有可能更换SSD。 (根据我的经验,10倍的可能性)。我会定期备份而不用担心。

资料来源:

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1195.html,未经允许,请勿转载。