Check disk and SSD health on macOS

Find out whether your Mac's disk is healthy: check SMART status, rule out a full disk, verify the filesystem, and repair errors from the terminal.

macOSdfTerminalstoragediskDiagnosticsdiskutilMedium risk
Run diskutil info on your main volume and read the SMART Status line.

What this covers

Slowdowns, dropped files, or disks that won't mount can mean anything from a full volume to a dying drive. Work through these steps in order: identify the disk, read its health, rule out space issues, and repair the filesystem if needed.

Symptom

?Your Mac's disk feels slow or unreliable: files take long to open, a volume fails to mount, or you suspect the SSD is failing and want proof either way.

Identify the disk you want to check

Before checking health you need the right device. diskutil list shows every internal and external disk, its partitions, and its /Volumes name, so you can pick the exact volume to inspect. It worked when you can see your target disk and note its /dev/diskX identifier.

See every internal and external disk, its partitions, and its /Volumes name from the terminal with one command.

Command
$ diskutil list

Read SMART status and filesystem details

diskutil info on your target volume reports the filesystem, APFS role, and SMART health — the quickest way to see whether the drive's self-monitoring reports a problem. If SMART Status says Verified, the drive hardware is reporting healthy; Failing means back up immediately.

Get the device node, filesystem, SMART health, and APFS role of any volume from one command.

Command
$ diskutil info /Volumes/Macintosh\ HD

Rule out a full disk

Many 'disk problems' are actually capacity problems: a nearly full APFS volume causes slowdowns and errors that mimic drive failure. df -h shows capacity, used, and available space per volume, including the Data volume where your files live. If free space is very low, freeing space may fix the symptom without any hardware issue.

df -h reports capacity, used space, and available space per volume in human-readable units, and on modern macOS it also exposes the APFS Data volume where your real user space lives.

Command
$ df -h
df -h /
df -h /System/Volumes/Data

Verify the volume and repair filesystem errors

If the filesystem is the suspect, run a read-only verification of the volume. If verification reports errors, follow up with the repair command for the same device to fix them in place. It worked when verification no longer reports corruption on the volume.

Run Disk Utility's First Aid from the Terminal — check a volume's filesystem and fix errors without the GUI.

Command
$ diskutil verifyVolume /dev/disk3s1
▾ Undo
Undo
$ sudo diskutil repairVolume /dev/disk3s1

Confirm the volume mounts cleanly

A final sanity check: unmount and re-mount the volume. A repaired, healthy volume unmounts without errors and mounts again immediately, with its files listed normally. If it refuses to mount or feels unstable, the drive may need replacement.

macOSMount or Unmount a Volume with diskutil mountMedium riskStep 5Optional

Re-attach a stubborn external volume or detach one without ejecting, using diskutil's mount and unmount verbs.

Command
$ diskutil mount /Volumes/MyUSB
▾ Undo
Undo
$ diskutil unmount /Volumes/MyUSB
!If SMART reports Failing or verification keeps finding errors, stop writing to the disk and back up your data immediately — repairs on a dying drive can make things worse.

How to confirm it worked

SMART Status reads Verified, the volume verifies without errors, and it mounts and unmounts cleanly.

Undo everything

Every command above can be reverted. Run these in order to undo all of it.

Undo everything
$ diskutil unmount /Volumes/MyUSB
sudo diskutil repairVolume /dev/disk3s1

Review before running — some steps may not be independent.

Sources

  • DISKUTIL(8) - macOS manual page
    Apple (Xcode man pages mirror) · vendor-doc · 2026-09-17
    Evidence: The manual page text contains 'diskutil list' describing it as listing disks with their partitions and identifiers such as disk0s1.
  • diskutil - Modify, verify and repair local disks
    SS64 · technical · 2026-09-17
    Evidence: Documents the diskutil command with 'list' as its first documented verb for listing disks, including the 'diskutil list' syntax shown on the page.
  • About Files and Directories
    Apple Developer · vendor-doc · 2026-09-17
    Evidence: Apple's file-system programming guide covering volumes, mount points, and macOS storage layout.
  • df — display free disk space (macOS)
    SS64 · technical · 2026-09-17
    Evidence: Documents -h human-readable sizes and per-file argument behavior.
  • System Information User Guide for Mac - Apple Support
    Apple Support · vendor-doc · 2026-09-17
    Evidence: Apple's reference for inspecting disks and volumes on macOS, including First Aid-style diagnostics.

Last verified: 2026-09-21

Related guides