Windows 7 / Getting Started

File System Fragmentation

As files are created, deleted, and modified over time, their size and physical location on the hard disk will change. If a file size needs to increase and the hard disk doesn't have room directly adjacent to the existing file, the file system automatically places the new portion of the file where it can find the room and then marks the necessary structures so that the file system can find the entire file when an application needs it. The file is now in two (or more) fragments.

Fragmentation is normal behavior and is completely transparent to both applications and users. The problem is that over time, more and more files become fragmented and even highly fragmented, increasing the amount of time that it takes for the hard disk controller to locate all of the fragments. Not only does this slow down file access, but it also places additional stress on the hard disk itself.

By default, Windows Vista and Windows 7 will defragment the hard drive at 1:00 A.M. every Wednesday. If the computer is off at this time, defragmentation will start shortly after the computer boots next. Ideally, defragmentation will run when the computer is not in use, minimizing the performance impact. However, the user impact is minimal because the defragmenter uses both low CPU priority and low-priority input/output (I/O).

Unlike earlier versions of Windows, Windows 7 recognizes solid-state drives (SSDs) and disables automatic defragmentation. Defragmentation does not improve the performance of SSDs and can decrease the lifetime of the SSD by unnecessarily reading and writing data.

Defragmentation Algorithm Improvements

Many systems administrators have been captivated by the graphical defragmentation displays in previous versions of Windows. You'll notice the graphics are gone in Windows Vista and Windows 7. Unfortunately, displaying the layout of files and highlighting files that had even one fragmentation made many performancefocused administrators obsessed with eliminating every single fragmented file.

Fragmentation does reduce disk performance, but having a few fragments in a large file doesn't make a difference-even years of reading and writing a large file with a single fragment would never add up to a significant amount of time. For this reason, Microsoft tweaked the defragmentation algorithm so that it does not defragment a file if a segment is longer than 64 MB. In those circumstances, the relatively significant effort required to rearrange files just to combine two 64-MB fragments isn't worth the effort, so Windows doesn't bother.

If you run a different defragmentation tool (including the defragmenter in Windows XP), those fragments will show up, and they'll probably look significant because the fragmented file is so large. (Typically, the entire file appears red if it has even a single fragment.) Trust the algorithm, though-a few fragments don't matter.

To defragment a file system or configure the automatic disk defragmentation schedule manually, follow these steps:

  1. Click Start and then click Computer.
  2. Right-click the drive and then click Properties.
  3. Click the Tools tab and then click Defragment Now. The Disk Defragmenter appears.
  4. In the Disk Defragmenter dialog box, click Defragment Disk to begin defragmentation.

You can continue to use the computer while defragmentation takes place, but it might be a little slower. You can also adjust the defragmentation schedule for a single computer from this interface.

For more complete control of defragmentation, you can use the command-line defragmentation tool, Defrag.exe, from an elevated command prompt. Defrag.exe has the following syntax, which has changed since Windows Vista.

Defrag <volume> | /C | /E <volumes> [/A | /X | /T] [/H] [/M] [/U] [/V]

The options for Defrag.exe are:

  • <volume> The drive letter or mount point of the volume to defragment.
  • /C Defragment all local volumes on the computer.
  • /E Defragment all local volumes on the computer except those specified.
  • /A Display a fragmentation analysis report for the specified volume without defragmenting it. Analysis reports resemble the following.
        Post Defragmentation Report:
    	Volume Information:
    		Volume size 		= 68.56 GB
    		Free space 		= 58.78 GB
    		Total fragmented space	= 0%
    		Largest free space extent = 31.64 GB
    	You do not need to defragment this volume
  • /X Perform free-space consolidation. Free-space consolidation is useful if you need to shrink a volume, and it can reduce fragmentation of future files.
  • /T Track an operation already in progress on the specified volume.
  • /H Run the operation at normal priority instead of the default low priority. Specify this option if a computer is not otherwise in use.
  • /M Defragment multiple volumes simultaneously, in parallel. This is primarily useful for computers that can access multiple disks simultaneously, such as those using SCSIor SATA-based disks rather than disks with an IDE interface.
  • /U Print the progress of the operation on the screen.
  • /V Verbose mode. Provides additional detail and statistics.
[Previous] [Contents] [Next]

In this tutorial:

  1. Managing Disks and File Systems
  2. Overview of Partitioning Disks
  3. How to Choose Between MBR or GPT
  4. Converting from MBR to GPT Disks
  5. GPT Partitions
  6. Choosing Basic or Dynamic Disks
  7. Working with Volumes
  8. How to Create a Simple Volume
  9. How to Create a Spanned Volume
  10. How to Create a Striped Volume
  11. How to Resize a Volume
  12. How to Delete a Volume
  13. How to Create and Use a Virtual Hard Disk
  14. File System Fragmentation
  15. Backup And Restore
  16. How File Backups Work
  17. File and Folder Backup Structure
  18. How System Image Backups Work
  19. How to Start a System Image Backup from the Command Line
  20. How to Restore a System Image Backup
  21. System Image Backup Structure
  22. Best Practices for Computer Backups
  23. How to Manage Backup Using Group Policy Settings
  24. Previous Versions and Shadow Copies
  25. How to Manage Shadow Copies
  26. How to Restore a File with Previous Versions
  27. How to Configure Previous Versions with Group Policy Settings
  28. Windows ReadyBoost
  29. BitLocker Drive Encryption
  30. How BitLocker Encrypts Data
  31. How BitLocker Protects Data
  32. TPM with External Key (Require Startup USB Key At Every Startup)
  33. TPM with PIN (Require PIN At Every Startup)
  34. TPM with PIN and External Key
  35. BitLocker To Go
  36. BitLocker Phases
  37. Requirements for Protecting the System Volume with BitLocker
  38. How to Enable the Use of BitLocker on the System Volume on Computers Without TPM
  39. How to Enable BitLocker Encryption on System Volumes
  40. How to Enable BitLocker Encryption on Data Volumes
  41. How to Manage BitLocker Keys on a Local Computer
  42. How to Manage BitLocker from the Command Line
  43. How to Recover Data Protected by BitLocker
  44. How to Disable or Remove BitLocker Drive Encryption
  45. How to Decommission a BitLocker Drive Permanently
  46. How to Prepare AD DS for BitLocker
  47. How to Configure a Data Recovery Agent
  48. How to Manage BitLocker with Group Policy
  49. The Costs of BitLocker
  50. Windows 7 Encrypting File System
  51. How to Export Personal Certificates
  52. How to Import Personal Certificates
  53. How to Grant Users Access to an Encrypted File
  54. Symbolic Links
  55. How to Create Symbolic Links
  56. How to Create Relative or Absolute Symbolic Links
  57. How to Create Symbolic Links to Shared Folders
  58. How to Use Hard Links
  59. Disk Quotas
  60. How to Configure Disk Quotas on a Single Computer
  61. How to Configure Disk Quotas from a Command Prompt
  62. How to Configure Disk Quotas by Using Group Policy Settings
  63. Disk Tools
  64. EFSDump
  65. SDelete
  66. Streams
  67. Sync
  68. MoveFile and PendMoves