Does the amount of available free disk space in Windows (XP only?) impact performance?
I remember reading that when the available free disk space falls below 10% of the total disk space on the computer, performance is degraded.
If true, can someone explain this in more depth than what the commenter on this page provides?
For hard disk drives, the performance may reduce as the drive fills up for two main reasons:
- The outer tracks provide faster data transfer than the inner tracks. The outer tracks should tend to be filled up by the OS first, so over time the data transfer speed will reduce.
- It becomes more difficult to find continuous sections of memory for storing new files. As the drive becomes full, more files must be fragmented in order to fit; the fragmentation will reduce performance. This will be especially important if there is a lot of "swapping" of virtual memory.
Solid state drives also diminish in performance as they become full, but for different reasons.
Modern filesystems use various techniques to reduce file and directory-structure fragmentation. These techniques usually allow a noticeable amount of free-space fragmentation (as gaps are deliberately left to allow files to grow later). As the amount of free space reduces this back-fires as it gets more difficult for new or growing files can be written in a relatively non-fragmented way.
Defragmenting helps (which is why Windows Vista and 7 run a "light" defragment process regularly in the background) especially with spinning disks if the defragmenter is bright enough to try keep related files/structures physically close to each other on the drive but does not completely remove the potential problem (with limited space to play with, new/growing files will quickly start to fragment) and the defragment processes can not function effectively if space is too low anyway.
So yes, letting free space get too low can have a performance impact. Whether this impact is likely to be noticeable in your day-to-day interaction with the system is very subjective though - it depends what you are doing with the machine and how sensitive you are to certain differences in response times.
Contrary to popular belief fragmentation can affect SSDs too, though to a much lesser extent than spinning-disk+moving-head based drives. Their near-zero access position latency compared to spinning disks removes a lot of the effect fragmentation has, but reading a file that is badly fragmented can result in many small read operations that bypasses any read-ahead optimizations and writing to a fragmented file may result in many small writes to desperate parts of the SSD which exacerbates inefficiencies caused by SSDs having to manipulate a block at a time (where the size of those blocks can be much larger than the 4Kbyte or 512 byte blocks your OS natively manipulates).