Monitor disk I/O on Mac
Read and write throughput, IOPS, and per-process disk activity on macOS — using iostat, Activity Monitor, fs_usage, or a menubar monitor.
Disk I/O is the most invisible bottleneck on a Mac. A pegged SSD looks like “everything is slow” but Activity Monitor’s CPU and Memory tabs are calm, so people misdiagnose and blame the machine. Knowing how to read disk activity directly saves you an hour every time it happens.
What to use
iostat (system-wide throughput)
The classic Unix tool, present on every Mac.
- Open Terminal.
- Run
iostat -w 1 disk0. - You'll see KB/t (avg KB per transfer), tps (transactions per second), and MB/s (throughput), updated every second.
- Ctrl-C to stop. Use
disk1,disk2if you have additional volumes.
Good for “is anything hammering the disk right now,” not for “which app.”
Activity Monitor’s Disk tab
- Open Activity Monitor, click Disk.
- Sort by Bytes Written or Bytes Read for cumulative-since-start.
- For live, watch the Data read/sec and Data written/sec in the bottom panel.
- The graph there shows IO/sec — a steady high line means sustained activity.
fs_usage (per-file detail)
When you really need to know which files:
sudo fs_usage -w -f filesys ProcessName
Spammy but precise — you see every read and write the process performs. Filter by process to keep it manageable. -w widens columns; -f filesys shows filesystem operations.
A menu bar monitor
For ongoing awareness, the menu bar is the right place. Beacon’s Disk readout shows live read/write throughput, and clicking gives you top disk users.
- Install Beacon and enable Disk in Settings > Menu Bar.
- Pick combined throughput or separate read/write arrows.
- Click for the top processes by current I/O.
Reading the numbers
Modern Mac SSDs can hit several GB/s burst, but sustained 200-500 MB/s under real workloads is more typical. If you’re seeing:
- Sustained 500+ MB/s write — something is bulk-writing. Time Machine, a large download, a video render, or a compile to a slow target volume.
- High tps with low MB/s — lots of small operations. Spotlight indexing (
mds_stores), database transactions, or a leaky log writer. - Steady writes when “idle” — Photos analysis, iCloud sync, or a buggy app rotating logs. Use
fs_usageto find the file paths. - Zero I/O but slow Finder — that’s not disk; it’s probably a stalled network volume or APFS snapshot housekeeping.
The general rule: if CPU and RAM look fine but everything feels stuck, look at disk I/O before you look anywhere else.
More Beacon tips
-
Better alternatives to Activity Monitor on Mac
Activity Monitor is fine for a one-off check, but it's a window you have to keep finding. Here are faster, ambient ways to see what your Mac is doing.
-
Is your Apple Silicon Mac thermal-throttling?
Apple Silicon throttles less than Intel, but it still throttles. Here's how to tell — and what it costs you when it happens.
-
Comparing Mac system monitors (iStat, MenuMeters, Beacon, etc.)
An honest look at the main menubar system monitors for macOS in 2026 — what each does well, what's frustrating, and how to pick.
-
See CPU usage in your Mac menubar
How to keep an always-visible CPU readout in your menu bar, without leaving Activity Monitor open in the corner of every Space.