smartmontools 在 Linux 中檢查 SSD 健康狀態 (CrystalDiskInfo 替代品)
這篇文章撰寫於 3 年前。軟體介面與設定步驟可能已經改變,請搭配官方文件確認。
最近 SSD 價格越來越便宜,使得 SSD 越來越普及化了。但由於 SSD 有一個致命的缺點,就是當 SSD 壽命到臨頭時,記憶晶片損壞,與一般 HDD(傳統磁碟硬碟)相比更難恢復數據。所以一般建議 SSD 的使用範圍都圍繞在系統碟最佳,儘量不要儲存重要的資料,以免損壞時資料無法救援回來。
防範勝於救援,追蹤 SSD 使用狀態以及其壽命,變成使用 SSD 的一件重要的課題。對於 Windows 系統的使用者來說,檢查 SSD 健康值是一件非常簡單的事情,一般都會使用 CrystalDiskInfo 這套軟體來查看數據,簡單且美觀的使用者介面對於 Linux 系統使用者來說就是一件遙不可及的事情了。雖然 Linux 系統沒有美觀的介面,但功能齊全,查看各個硬碟參數應有盡有。
軟體資訊
廣告
前置作業
sudo fdisk -l
sudo apt install smartmontools
軟體教學
從剛剛用 fdisk 查到的硬碟位置後(/dev/nvme0),輸入到指令裡面即可查看查詢的結果。
sudo smartctl --all /dev/nvme0
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.0.0-0.deb11.2-amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: ADATA LEGEND 710
Serial Number: 2M402LAG5CD9
Firmware Version: VC0S036H
PCI Vendor/Subsystem ID: 0x1cc1
IEEE OUI Identifier: 0x707c18
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 512,110,190,592 [512 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 707c18 6e63cffa37
Local Time is: Mon Apr 10 15:50:25 2023 CST
Firmware Updates (0x02): 1 Slot
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x0054): DS_Mngmt Sav/Sel_Feat Timestmp
Log Page Attributes (0x02): Cmd_Eff_Lg
Maximum Data Transfer Size: 32 Pages
Warning Comp. Temp. Threshold: 100 Celsius
Critical Comp. Temp. Threshold: 110 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 8.00W - - 0 0 0 0 0 0
1 + 4.00W - - 1 1 1 1 0 0
2 + 3.00W - - 2 2 2 2 0 0
3 - 0.0300W - - 3 3 3 3 5000 10000
4 - 0.0050W - - 4 4 4 4 54000 45000
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 43 Celsius
Available Spare: 100%
Available Spare Threshold: 32%
Percentage Used: 0%
Data Units Read: 124,011 [63.4 GB]
Data Units Written: 1,096,668 [561 GB]
Host Read Commands: 2,736,262
Host Write Commands: 39,543,221
Controller Busy Time: 0
Power Cycles: 13
Power On Hours: 206
Unsafe Shutdowns: 5
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Error Information (NVMe Log 0x01, 8 of 8 entries)
No Errors Logged
| 資訊 | 說明 |
|---|---|
| Available Spare | 就是 SSD 所謂的健康值了。當區域損壞越多 Available Spare 數值就會越低,當 Available Spare 低到一定程度時,控制晶片可能就會進入防寫入保護,以保護資料。當遇到該 SSD 的健康值過低時,建議可以即時的更換,以免重要資料損失。 |
| Available Spare Threshold | SSD 備用空間值,當 Available Spare 小於 Available Spare Threshold 時,就代表該 SSD 已經進入極限狀態。 |
| Percentage Used | 廠商依據寫入以及讀取兩者而定義的壽命百分比,當全新的 SSD 該數值應為 0 |
| Data Units Read | 總資料讀取 |
| Data Units Written | 總資料寫入 |
| Power Cycles | 通電次數 |
| Power On Hours | 運行時間,記錄運行的小時數 |
| Unsafe Shutdowns | 非正常斷電次數 |
結語
從以前耐用的 MLC,到價格便宜的 TLC,到現在沒那麼耐用的 QLC。經過幾次新技術的發展,SSD 越來越便宜但其壽命也越來越不耐用,這時就要定期的去查看健康度,發現健康度不佳時,即時更換 SSD 才可以保護重要資料。
這一次介紹的 smartmontools 讓 macOS、Linux 都可以使用簡單的指令來查看詳細的 SSD 相關狀態資料,讓平時有在維護伺服器的朋友來說,可說是極推薦的工具之一。
廣告