Our Technical Support group receives all kinds of questions, requests for insight and more. A brief question came in just the other day that seemed simple enough — how could a small file become so fragmented based on a particular cluster size. Regardless of the actual size of the file, the answer goes to the heart of why fragmentation occurs, and what can be done about it. For those that say fragmentation is not an issue, well…it is. NTFS hasn’t changed in that regard.
Greg Hayes, Raxco’s manager of technical solutions, gave the following overview.
Without knowing more details about what exactly was seen, what I can say is “fragmentation happens”. Fragmentation happens because NTFS is unable to create or extend a file contiguously. File fragmentation is ultimately caused by free space fragmentation – where free space on the drive is scattered all over the drive instead of being consolidated in large “chunks”. While NTFS does try to create new files contiguously, if there isn’t a large enough piece of contiguous free space to initially create the file, it is created in a fragmented state. In addition, for files that are extended frequently or “grow” (i.e. log files), once the file is initially created, when the file grows and there isn’t free space available for the file to grow contiguously, the file becomes fragmented.
While NTFS does attempt to identify files likely to grow and allocates additional space for the file to “grow” into (commonly known as an Alloc>Actual file – where the EOF pointer is greater than the EOD pointer), this doesn’t completely eliminate fragmentation from happening. Applications can also pre-allocate space for files to accommodate growth and reduce the amount of fragmentation that can occur but developers have to be aware of this feature and take advantage of it – many don’t.
Technologies like PerfectDisk’s OptiWrite (not found in the Windows defragmenter or most defragmenters) prevent file fragmentation from happening in the first place by detecting in real-time instances where NTFS is likely to create/extend a file in a fragmented state and intelligently redirecting where the file is created/extended – virtually eliminating file fragmentation. If you can prevent file fragmentation from occurring in the first place, a high level of performance is maintained over a long period of time – freeing up system resources for other operations. Proactively preventing file fragmentation in conjunction with invisibly cleaning up residual file and free space fragmentation are features found in an advanced defragmenter like PerfectDisk.
So, while s*&# — and fragmentation — happens, neither need to hurt PC and server performance. With the right tools in place, you can actually improve PC performance in spite of all the s*&#.