Linux系統檢視硬碟的使用時間--使用smartmontools
阿新 • • 發佈:2018-11-28
smartmontools
windows系統裡有很多好用的軟體可以檢視硬碟的總使用時長,Linux下也有類似的工具smartmontools。
S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; often written as SMART)
現在的硬碟基本都支援SMART
對於Debian,Ubuntu系統:
apt-get install smartmontools
其他系統的庫裡也有smartmontools。
使用如下命令檢視硬碟掛載在哪個目錄下
df -h
比如說我的硬碟掛載在/dev/sda1,使用如下命令檢視。
smartctl --all /dev/sda1
結果如下:
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.14.71-v7+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: Lenovo
Product: USB Hard Drive
Revision: 1 A
Compliance: SPC-4
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Logical block size: 512 bytes
Serial number: 624P0LOT
Device type: disk
Local Time is: Tue Nov 13 10:32:38 2018 HKT
SMART support is: Available - device has SMART capability.
SMART support is: Disabled
SMART Disabled. Use option -s with argument 'on' to enable it.
發現並沒有讀到我們想要的資訊,我們需要把SMART 開啟,使用如下命令:
smartctl -s on --all /dev/sda1
讀取成功
可以使用管道直接看到上電使用時間:
smartctl -s on --all /dev/sda1 | grep Power_On_Hours
結果如下:
9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 2648
最後一個數字2648表示用了2648小時了。
如果你讀取用USB連線的行動硬碟時,很可能會出現如下錯誤:
=== START OF INFORMATION SECTION ===
...
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Disabled or Not Supported
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature: 0 C
Drive Trip Temperature: 0 C
Error Counter logging not supported
Device does not support Self Test logging
那麼使用如下命令可以解決問題:
smartctl -d sat --all /dev/sda1
輸出結果如下:
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.14.71-v7+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: TOSHIBA MQ01ABD100M
Serial Number: 8624P0LOT
LU WWN Device Id: 5 000039 7323008ce
Firmware Version: AX1P1A
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS (minor revision not indicated)
SATA Version is: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Tue Nov 13 11:31:29 2018 HKT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 120) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 255) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0027 100 100 001 Pre-fail Always - 2355
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 706
5 Reallocated_Sector_Ct 0x0033 100 100 050 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline - 0
9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 2648
10 Spin_Retry_Count 0x0033 114 100 030 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 498
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 878
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 27
193 Load_Cycle_Count 0x0032 099 099 000 Old_age Always - 17413
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 38 (Min/Max 7/49)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
220 Disk_Shift 0x0002 100 100 000 Old_age Always - 0
222 Loaded_Hours 0x0032 096 096 000 Old_age Always - 1819
223 Load_Retry_Count 0x0032 100 100 000 Old_age Always - 0
224 Load_Friction 0x0022 100 100 000 Old_age Always - 0
226 Load-in_Time 0x0026 100 100 000 Old_age Always - 264
240 Head_Flying_Hours 0x0001 100 100 001 Pre-fail Offline - 0
SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 1 occurred at disk power-on lifetime: 1657 hours (69 days + 1 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 58 40 f9 a7 46 Error: UNC 88 sectors at LBA = 0x06a7f940 = 111671616
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 ff 00 98 f6 a7 40 00 01:34:49.548 READ DMA EXT
25 ff 00 98 f2 a7 40 00 01:34:49.534 READ DMA EXT
25 ff a8 f0 f1 a7 40 00 01:34:49.493 READ DMA EXT
25 ff 00 f0 ed a7 40 00 01:34:49.488 READ DMA EXT
25 ff 00 f0 e9 a7 40 00 01:34:49.481 READ DMA EXT
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.