A while ago, Backblaze published a report on what they consider to be the most reliable SMART parameters for determining whether a disk is failing. These include:
- 5 – Reallocated_Sector_Ct
- 187 – Uncorrectable_Error_Cnt
- 188 – Command_Timeout
- 197 – Current_Pending_Sector_Count
- 198 – Offline_Uncorrectable
For a complete description of these parameters, take a look at the Wikipedia article on SMART.
While our sample of failing disks is no where near as large as Backblaze’s, our results have, unsurprisingly, correlated pretty strongly to theirs.
Note that not all of these parameters are supported by the drive manufacturers and that we typically don’t see many of these parameters on the hard disks supplied in Apple hardware. Additionally, note that SMART is not supported on some drives.
Assuming you’ve got smartmontools installed, this one-liner will very quickly give you a snapshot of the key values we look for as strong indicators that a drive needs to be replaced:
smartctl -a disk0 | egrep "^( 5|187|188|197|198)"
where
disk0
is the disk you’re testing. To get the disks available to test, run
diskutil list
You’ll get back output that looks like this:
/dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *256.1 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 255.2 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk1 1: EFI 209.7 MB disk1s1 2: Apple_HFS Storage 499.8 GB disk1s2
In the example above, there are two disks to choose from,
disk0
and
disk1
Assuming the drive supports all five SMART parameters, you’ll get back something that looks like this:
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0 187 Reported_Uncorrect 0x0032 100 100 001 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 001 Old_age Always - 0 197 Current_Pending_Sector 0x0032 100 100 001 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 100 100 001 Old_age Offline - 0
Those trailing zeros are what we like to see. Positive values in the last column mean that the drive probably needs to be replaced.