An SSD pool often slows near full capacity because the controller and filesystem have less clean workspace for writes, relocation, metadata, and snapshots.
The 15 percent point is not a universal cliff, but it is a useful warning threshold for many home-server workloads. The pool may have free logical bytes while snapshots, thin provisioning, filesystem metadata, deleted-but-open files, or missing discard support reduce the space that SSD controllers and storage software can actually reuse. Diagnose effective writable headroom and write latency rather than relying on one dashboard percentage.
Confirm Which Free-Space Number Reached 15 Percent
Compare raw SSD capacity, pool capacity, filesystem free space, thin-provisioned allocation, snapshot usage, quotas, reserved blocks, and the application volume that feels slow. These values answer different questions.
GNU Coreutils explains that filesystem available space is reported from the mounted filesystemโs accounting, which may not include every pool, snapshot, thin-volume, or controller-level reserve affecting writes.
If only one dataset or thin volume is nearly full, repair that layer instead of treating every SSD as slow. If the entire pool has little unallocated capacity, continue with controller workspace, discard, and snapshot checks.
Understand Why NAND Writes Need Clean Workspace
Measure sustained and small-random write latency before and after the pool crosses the threshold. Read speed may remain acceptable while writes pause or become inconsistent.
Crucial describes SSD over-provisioning as reserved capacity used for garbage collection, wear leveling, and replacement blocks, which explains why less writable headroom can increase background relocation during new writes.
Do not assume every slowdown means worn-out flash. A healthy SSD can become temporarily slow when it must erase, move, and rewrite more valid data for each incoming write.
Verify That Discard or TRIM Reaches the SSDs
Check whether deleted filesystem blocks are being discarded continuously, periodically, or not at all. Include every layer between filesystem and SSD: encryption, RAID, thin provisioning, HBA, virtual disk, and enclosure.
Microsoftโs Optimize-Volume retrim operation shows that deleted blocks must be communicated through the storage stack so the device can prepare them for reuse.
A successful command at the filesystem layer does not prove the SSD received discard. Compare device counters or controlled write behavior before and after a supported trim operation, and do not enable discard through a layer that does not preserve it safely.
Check Snapshots, Recycle Bins, and Deleted-but-Open Files
Measure space held by snapshots, clones, retention folders, recycle bins, database logs, and open files whose directory entries were deleted. These can keep blocks allocated after users believe data is gone.
Oracleโs ZFS documentation explains that snapshots retain referenced blocks, so deleting a large live file may not return its storage while older snapshots still depend on those blocks.
Delete only retention points that exceed policy and confirm which blocks they reference. A large snapshot is not automatically obsolete, and emergency deletion can remove the only recovery path for a recent change.
Separate Controller Over-Provisioning From Filesystem Free Space
Check whether each SSD has unpartitioned reserve space, manufacturer-defined spare area, or host-managed over-provisioning. Filesystem free space and controller reserve serve related but different purposes.
Kingston explains that host over-provisioning leaves capacity unallocated so the SSD controller has additional workspace beyond the filesystemโs visible free blocks.
Do not shrink a live pool without verified backups and a supported reduction path. Over-provisioning is safest when planned before deployment or introduced during a controlled migration.
Run a Supported Trim and Measure Recovery
After removing unnecessary data and snapshots, run the platformโs supported discard operation during a low-load window. Record how many bytes were discarded and whether write latency changes after the SSD completes background cleanup.
The fstrim manual explains that discard applies to unused filesystem blocks and that repeated trimming of the same regions may not provide additional benefit.
A trim that reports zero bytes is not automatically a failure; the filesystem may already be trimmed or an intermediate layer may block discard. Use the storage stackโs own evidence before changing mount options.
Restore Headroom and Verify the Real Bottleneck
Move temporary data, expire only policy-approved snapshots, compact databases where supported, and restore a deliberate free-space margin. Then repeat the same write workload while measuring latency, queue depth, CPU wait, and SSD temperature.
The ZimaSpace article on SSD cache warning signs provides the adjacent boundary between reversible space pressure and evidence that the device itself may be failing.
The diagnosis is complete when write latency improves after verified headroom or discard recovery, snapshots and metadata remain within policy, and the same workload stays stable above the chosen reserve. If performance remains poor with ample space, investigate thermal throttling, wear, controller errors, RAID behavior, or application I/O.
Support & Tips
More to Read

Can Plex Share a GPU With Another Docker Container?
Plex and another container can often access the same GPU, but you must test driver support, device mapping, video-engine load, memory, and recovery behavior.

How to Tell Whether a Plex Error Comes From the Client or Server
Reproduce the same item on another client, compare the session path, then collect server evidence only after scope tells you where the failure actually...

How to Configure Plex Cache and Transcode Temporary Storage
Protect persistent Plex state while placing transcode temp files on suitable local storage, then verify cleanup, free space, and restart behavior.

