디스크 전체 수명 동안 SSD에 몇 GB가 기록되었는지 표시하는 터미널 명령이 있습니까? 몇 번의 사이클이 수행되었는지 알고 싶기 때문에 묻습니다. SSD는 유형에 따라 약 1000–2000주기를 수행 할 수 있습니다.
디스크 전체 수명 동안 SSD에 몇 GB가 기록되었는지 표시하는 터미널 명령이 있습니까? 몇 번의 사이클이 수행되었는지 알고 싶기 때문에 묻습니다. SSD는 유형에 따라 약 1000–2000주기를 수행 할 수 있습니다.
답변:
적절한 도구 *를 사용하여 SSD의 다음 SMART 속성을 읽으십시오.
241-쓴 총 LBA : 장치의 전체 수명 동안 기록 된 총 512 바이트 섹터 수.
242-Total LBAs Read : 장치의 전체 수명 동안 읽은 총 512 바이트 섹터 수입니다.
두 번째 속성 세트는 다음과 같습니다.
174-Host_Reads_MiB
175-Host_Writes_MiB
그러나 두 번째 세트에서 찾은 값이 실제로 의미가 있는지는 모르겠습니다 (적어도 Fusion 드라이브의 일부로 120GB SSD를 사용하는 경우) SSD를 통해 HDD보다 훨씬 많은 데이터가 SSD에 기록되기 때문에 크기의 1/25 만 있습니다.
0xae Host_Reads_MiB ----CK 100 100 000 - 12268569 (~12 TiB)
0xaf Host_Writes_MiB ----CK 100 100 000 - 16481745 (~16 TiB)
3TB HDD (Fusion 드라이브의 두 번째 부분)와 비교 한 결과 :
0xf1 Total_LBAs_Written ------ 100 253 000 - 21361815408 (~10 TiB)
0xf2 Total_LBAs_Read ------ 100 253 000 - 23925221693 (~11 TiB)
smartmontools를 설치 한 후 "242 Total_LBAs_Written"속성이 존재하면 다음 명령은 GB 단위로 작성된 데이터를 제공합니다.
smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125 }'
또는 TB로 :
smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125000 }'
"DiskIdentifier"를에서 찾은 내부 SSD의 식별자로 바꿉니다 diskutil list
. 아마 disk0입니다.
다음 명령은 "175-Host_Writes_MiB"속성이 존재하면 기록 된 데이터를 GB 단위로 제공합니다 (주의하여 결과를 처리하십시오).
smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xaf | awk '{ print $8/953.67 }'
앞에서 언급 한 것처럼 "DiskIdentifier"를로 찾은 내부 SSD의 식별자로 바꿉니다 diskutil list
. 아마 disk0입니다.
위의 smartctl 명령은 (적어도 나에게는) 매우 안정적으로 작동하지 않습니다.
"SMART 데이터 읽기 실패 : 정의되지 않은 오류 : 0"과 같은 오류가 발생하면 smartctl -A /dev/disk0
먼저 시도하십시오 .
"SMART 사용 안함. -on 옵션과 함께 옵션 -s를 사용하여 사용으로 설정하십시오."와 같은 오류 smartctl -s on -A /dev/disk0
가 표시되면 위 명령을 재 시도하여 디스크에 기록 된 데이터를 읽고 계산하십시오.
smartctl -s on /dev/DiskIdentifier
. 그런 다음 데이터를 얻을 수 있습니다. 다시 비활성화하려면 :smartctl -s off /dev/DiskIdentifier
원래 게시물은 SSD에 1000-2000주기 제한이있어 문제를 지나치게 단순화한다고 언급했습니다. SSD의 개별 셀 에는 이러한 제한이있을 수 있지만 SSD는 오버 프로비저닝 및 쓰기 레벨링에서 Sandforce의 독점적 인 중복 제거, 압축 및 데이터 차별화 기술 모음 인 "DuraWrite"에 이르기까지 다양한 솔루션을 구현합니다.
원래 게시물로 돌아갑니다. iostat
관련 기술 은 총체적인 활동을 보여 주지만 각 셀에 대해 얼마나 많은 프로그램 / 삭제주기가 수행되었는지, 그리고 거기에서 SSD에 남아있는 수명을 알기 위해서는 역으로 작업하기가 매우 어렵습니다.
유용한 권장 사항은 명시된 용량의 20 % 정도까지 SSD를 채우지 않고 적절한 백업없이 사용한 SSD를 배포하지 않는 것입니다.
Ars Technica에는 SSD의 작동 방식에 대한 몇 가지 유용한 기사가 있습니다. 가장 직접적으로 유용한 것은 " 소비자 급 SSD는 실제로 오래 지속된다 "는 것입니다. 자세한 내용은 여기 , 특히 5 페이지를 참조 하십시오 .
Homebrew ( ) 와 함께 GSmartControl 을 설치 하고 다음을 얻었습니다.brew install gsmartcontrol
SMART 속성 번호 173 (Erase Count 또는 Wear Leveling)은 사용 된 전체 섹터 쓰기를 의미해야합니다.
My MacBook 2015에서이 답변에 응답했습니다 (0xf1 ID 없음).
smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/disk0
smartctl 6.4 2015-06-04 r4109 [x86_64-apple-darwin15.0.0] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: APPLE SSD SM0256G
...
LU WWN Device Id: 5 002538 900000000
Firmware Version: BXW1SA0Q
User Capacity: 251 000 193 024 bytes [251 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
...
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
0x01 Raw_Read_Error_Rate -O-RC- 200 200 000 - 0
0x05 Reallocated_Sector_Ct PO--CK 100 100 000 - 0
0x09 Power_On_Hours -O--CK 099 099 000 - 180
0x0c Power_Cycle_Count -O--CK 099 099 000 - 650
0xa9 Unknown_Attribute PO--C- 229 229 010 - 1975773037504
0xad Unknown_Attribute -O--CK 200 200 100 - 4296081414
0xae Unknown_Attribute -O---K 099 099 000 - 2547718
0xaf Program_Fail_Count_Chip -O---K 099 099 000 - 1304888
0xc0 Power-Off_Retract_Count -O--C- 099 099 000 - 1
0xc2 Temperature_Celsius -O---K 059 022 000 - 41 (Min/Max 19/78)
0xc5 Current_Pending_Sector -O---K 100 100 000 - 0
0xc7 UDMA_CRC_Error_Count -O-RC- 200 199 000 - 0
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning
ATA_READ_LOG_EXT (addr=0x00:0x00, page=0, n=1) failed: 48-bit ATA commands not implemented
Read GP Log Directory failed
Device Statistics (GP/SMART Log 0x04) not supported
이 질문에 대한 매우 자세한 답변이 여기에 주어졌습니다.
다음 명령
iostat -Id disk0
장치가 장착 된 순간부터 iostat 명령이 실행 된 순간까지의 데이터 전송 통계를 반영합니다.