kei*_*iki 118 ssd disk-check hardware-test
我们都知道 SSD 的预定寿命是有限的。所以我的问题是我如何检查(Ubuntu)Linux 我的 SSD 的当前健康状态是什么?也许估计需要多长时间?
图形工具是首选,但命令行工具也可以。
我正在使用 Xubuntu 12.04 LTS
小智 65
检查 SSD 的健康状况
对于基于 Ubuntu、Mint 或 Debian 的发行版
# apt-get install smartmontools
Run Code Online (Sandbox Code Playgroud)
Media_Wearout_Indicator 正是您要寻找的。100 意味着你的 ssd 有 100% 的寿命,较低的数字意味着剩余的寿命更少。
# smartctl -a /dev/sda | grep Media_Wearout_Indicator
Run Code Online (Sandbox Code Playgroud)
显示您的 sdd 信息
# smartctl -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
您可以在Nam Huy Linux 博客上阅读完整的文章- 如何检查 Linux 上剩余的 SSD 寿命
Joã*_*dré 50
安装Gnome Disk Utility并检查SMART Data and Tests以获取磨损均衡计数或类似内容。该数字越高(百分比,从 1 到 100),您的 SSD 就越“用完”,这意味着您更有可能遇到问题。但如果您有最近的 SSD,则无需担心。
通过安装
sudo apt-get install gnome-disk-utility
Run Code Online (Sandbox Code Playgroud)
通过
菜单->设置->磁盘实用程序
或通过命令行
sudo gnome-disks
Run Code Online (Sandbox Code Playgroud)
小智 47
如果您没有英特尔品牌的 SSD:请阅读此内容。
小心 !!——我被“smartmontools”误导了。我有一个三星SSD,smartmonitor/'smartctl' 工具愉快地误报了'233'(十六进制'E9')属性是'Media_Wearout_Indicator';事实上——不,对于三星(和其他制造商)来说,情况完全不同。我发现的这个和其他论坛帖子、堆栈交换问题/答案和高级用户博客似乎是“专注于英特尔”,只有模糊的暗示“它可能会有所不同”。(相对于任何建议,您需要注意 smartmontools 对属性的错误和错误标记)。
当我准备将我的 SSD 复制到我购买的新硬盘时(因为 smartmontools 告诉我的),我启动到 Windows(我有一个双启动系统),从 Windows-only 中了解一些关于 SSD 的信息三星工具“Samsung_Magician_v43.exe”不得不告诉我有关我的驱动器的信息——它的信息令人震惊。
经过数小时的挖掘 - 我终于能够运行仅限 Windows 的工具:hddgaurdian,然后还有CrystalDiskInfo:惊喜!两个工具都独立告诉我我的三星 SSD 是“很好”(硬盘监护人说“5 星”和水晶磁盘“98% 正常”)。相比之下,smartctl 工具使用“十进制- 233 / '十六进制-E9”明确标记属性为“媒体磨损指标”——并告诉我它的值为“1”或 1%——一个指标(风险)等待失败。为了尽可能确定,我挖了又挖,终于至少从三星官方找到了一些东西:三星白皮书 07:与您的 SSD 通信 [archive.org]
该文件确实暗示三星不会以相同的方式使用属性“十六进制 E9”/“十进制”“233”。(三星:我很失望,请修复您的官方软件工具,或者至少明确说明您没有提供磨损指示信息!)
此外 - 如果您既没有英特尔固态硬盘也没有三星固态硬盘 - 请注意,此信息似乎因制造商而异。(例如,请参阅https://code.google.com/p/hddguardian/wiki/about_reliability上的属性标签图表,了解我发现的可变性程度的唯一有用指示。)
万能的:如果您没有英特尔固态硬盘——请不要 被 smartmonitor 提供的虚假属性名称标签所误导。也许将来会有所改进,但是默认为 Ubuntu 12.04 LTS(2014 年 4 月)安装的版本完全失败。而不是告诉你它“不知道”——smartctl 只是错误地标记了属性。我没有找到另一种使“正确”信息透明或清晰的 Linux 工具。
Mik*_*ike 14
类似于这个答案执行
# apt-get install smartmontools
Run Code Online (Sandbox Code Playgroud)
但是,当我执行命令以显示驱动器信息时,看起来 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
Run Code Online (Sandbox Code Playgroud)
您需要通过以 root 身份执行以下命令来启用它:
# smartctl -s on -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
然后你可以通过做一个简短的测试(我花了大约 1 分钟)来执行自测:
# smartctl -t short -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
或更彻底的测试(我花了大约 1.5 小时):
# smartctl -t long -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
请注意,在大多数情况下,您不需要卸载驱动器来执行这些测试。如果这样做,请参阅man smartctl
。
现在,当您执行时,smartctl -a /dev/sda
您应该会看到自我评估测试结果。这可能是您真正需要关注的全部内容:
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Run Code Online (Sandbox Code Playgroud)
如果你喜欢细节,你还会看到这样的表格:
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
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找所有这些值的含义,请参阅金士顿文档。
Nat*_*dge 13
对于(至少某些)NVMe 驱动器,您可以执行以下操作
smartctl -a /dev/nvme0
Run Code Online (Sandbox Code Playgroud)
然后,您可以查找如下一行:
Percentage Used: 5%
Run Code Online (Sandbox Code Playgroud)
这里的数字越小越好,100%
意味着驱动器已经“磨损”了。制造商文档表明,如果您在此之后继续使用驱动器,则有可能获得高于 100% 的数字(来自 Seagate 的示例,请参见第 12 页)。
请注意,如果您使用命名空间或分区设备,例如/dev/nvme0n1
或/dev/nvme0n1p1
,它将不起作用,您将收到类似 的消息Read NVMe SMART/Health Information failed: NVMe Status 0x4002
。
小智 6
Wear_Leveling_Count 是要跟踪的正确属性。但是,与其他属性一样,100 是最佳值,0 是最差值。将其视为“剩余寿命的百分比”。
检查 SSD 健康状况的最佳方法是遵循制造商的建议。由于这些内容因制造商而异,并且可能会随着时间的推移而发生变化,因此如果您有疑问,最好咨询您的驱动器制造商。根据大多数制造商提供的 MTBF 评级(JEDEC JESD218A 标准定义了该方法),SSD 应能毫无问题地持续超过 100 万小时。
我有几个涉及多个制造商的产品。我可以保证不同制造商的 SMART 属性有所不同。为了进行比较,这里提供了来自OCZ的示例和来自 Corsair F40 设备的智能数据,并讨论了该数据的不可靠程度。
虽然智能数据当然有价值,但由于所有设备最终都会发生故障,因此重要的是定期备份数据。这让您高枕无忧,在您等待(可能需要几年)SSD 发生故障时,您的数据是安全的。随着成本下降和容量增加,您更有可能因空间限制而不是故障而更换 SSD。(根据我的经验,可能性是 10 倍)。我只是定期备份而不用担心。
资料来源:
经验,http://www.hardcoreware.net/mtbf-ssd-what-does-it-mean-for-you/
归档时间: |
|
查看次数: |
267880 次 |
最近记录: |