我刚刚购买了一个新的 SSD,我正试图弄清楚如何监控它的预期寿命。当我跑
sudo smartctl -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
它报告
...
General SMART Values:
Offline data collection status: (0x80) **Offline data collection activity
was never started**.
...
Run Code Online (Sandbox Code Playgroud)
此外,我注意到一些统计数据显示为“始终”或“离线”更新:
$ sudo smartctl -data -A /dev/sda
...
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
...
198 Offline_Uncorrectable 0x0030 100 100 001 Old_age **Offline** - 0
199 UDMA_CRC_Error_Count 0x0032 100 100 001 Old_age **Always** - 0
202 **Perc_Rated_Life_Used** 0x0018 100 100 001 Old_age **Offline** - 0
206 Write_Error_Rate 0x000e 100 100 001 Old_age **Always** - 0
Run Code Online (Sandbox Code Playgroud)
这是否意味着“离线”统计数据不是最新的?
“离线”统计数据会随着时间自行更新,还是需要我触发它们以某种方式更新?
我对指示 SSD 寿命的值“Perc_Rated_Life_Used”特别感兴趣,它被标记为“离线”。
使用--offlineauto=on
标志(归功于下面迈克尔克雷尔的建议):
sudo smartctl --offlineauto=on -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
产生一个新的输出部分:
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Automatic Offline Testing Enabled **every four hours**.
Run Code Online (Sandbox Code Playgroud)
但是,智能数据部分仍然报告:
Offline data collection status: (0x80) Offline data collection activity
**was never started**.
Run Code Online (Sandbox Code Playgroud)
这是在新更新的 Ubuntu 上 13.1016.04 系统。
小智 6
参考smartmontools网站:
列已更新
某些仅在离线数据收集活动期间更新的SMART 属性值在“已更新”列中标记为“离线”。
如何启用“离线数据收集”:
smartctl --offlineauto=on
Run Code Online (Sandbox Code Playgroud)
根据smartmontools网站:
请注意,也可以在收到用户命令后立即执行一次性离线测试。请参阅
-t offline
选项,该选项会立即执行一次性离线测试。
所以,执行:
sudo smartctl -t offline /dev/sda
Run Code Online (Sandbox Code Playgroud)
将智能数据部分更新为:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Run Code Online (Sandbox Code Playgroud)
问题解决了。