Linux系统查看硬盘的使用时间--使用smartmontools

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:             1A
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.

猜你喜欢

转载自blog.csdn.net/zhangpeterx/article/details/84025552