For years, ZFS users lived under a simple, almost superstitious rule: never let your pool get more than 80% full. The reasoning was simple enough — performance would tank, fragmentation would run wild, and you’d be in for a world of hurt. That “leave 20% free” mantra became as baked-in as “one gigabyte of RAM per terabyte of storage” or “RAID is not a backup.”
Press enter or click to view image in full size
But here we are in 2025, and a growing number of ZFS veterans are saying it’s time to ditch the old number. They argue that modern ZFS — with years of allocator optimizations, smarter space management, and larger drives — just doesn’t crumble when you push past 80%. Instead, a more realistic figure might be closer to 5–10% free space, depending on your workload.
The old advice wasn’t just pulled out of thin air. ZFS’s metaslab allocator used to switch to a slower, more fragmented-friendly allocation strategy when free space dipped below about 20%. That threshold acted as a safety net for systems where writes, rewrites, and deletions could scatter data all over the disk.
And because ZFS is a copy-on-write (CoW) filesystem, it can’t overwrite data in place. Every change has to be written to fresh blocks before the old ones are marked free. That’s great for data…