7

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?

3 Answers 3

7

For hard disk drives, the performance may reduce as the drive fills up for two main reasons:

  1. 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.
  2. 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.

2
  • 1
    I agree with point 2, but about point 1 - I thought that HDDs are written to randomly i.e. storage of the data doesn't follow a particular order? Commented Apr 7, 2010 at 13:09
  • @kipkuch - when possible, it's preferable to write in sequential order because it's faster. Of course, hard drives have random-access abilities, but sequential is [almost] always faster
    – warren
    Commented Apr 7, 2010 at 17:01
4

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).

2

If you have System Restore enabled, Hibernate, or swap space (virtual memory), then falling below 10% free on the drive would mean that you're directly impacting the ability of those services to run.

System Restore typically reserves 10% of drive space for itself.

Hibernation needs as much drive space as physical RAM.

Swap needs as much as the system thinks it needs (presuming you have system-managed virtual memory, and not a fixed size).

Also, the Recycle Bin is generally set to use up to 10% of drive space (on a per-drive basis).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .