리눅스 오픈소스로 제공하는 smartctl 을 사용하면 HDD 의 S.M.A.R.T 정보를 쉽게 얻어올 수 있다.
smartctl -A 장치명(/dev/sda) 을 입력하면 아래와 같은 정보를 얻을 수 있다.
붉은 색으로 표시된 정보들에 값이 세팅된 경우에는 HDD 를 점검해볼 필요가 있다. (치명적인 문제가 있을 수 있다.)
또한, 벤더별, 모델별로 HDD 온도의 기준치가 다르다. 평균적으로 65가 되면 RAW 가 발생하고 HDD 가 Damge 를 입어서 정상동작 하지 않을 수 있다. 예를 들어, write 가 되지않아 I/O wait 가 100% 될 수 있다.
코드상에서는 RAW_VALUE 값이 char [6] 크기로 설정되어 있으므로, 뒤에서 부터 shift 해서 정수로 값을 확인 하면 된다.
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 078 063 006 Pre-fail Always - 63572944
3 Spin_Up_Time 0x0003 091 087 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 746
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 081 060 030 Pre-fail Always - 156784931
9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 1536
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 774
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 099 000 Old_age Always - 3
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 056 011 040 Old_age Always In_the_past 44 (Min/Max 32/47 #7711)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 766
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 788
194 Temperature_Celsius 0x0022 044 089 000 Old_age Always - 44 (0 16 0 0 0)
195 Hardware_ECC_Recovered 0x001a 025 007 000 Old_age Always - 63572944
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 2
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 1523 (157 209 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 31005030207
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 47207705824
'리눅스' 카테고리의 다른 글
Socket 통신 (0) | 2017.08.07 |
---|---|
[Vi 편집기] ctag 설정 및 함수 찾기 기능 (0) | 2016.03.24 |
[Virtual Box] Note PC + Virtual Box(Linux) 연동 (0) | 2016.01.25 |
dd 명령어 (0) | 2015.11.19 |
gcc에서 문자열처리 (0) | 2015.11.17 |
댓글