Is Windows Disk Defragmenter good enough?

I know this can be sound a little like an open question, but I want your thoughts here. Maybe if someone have make a benchmark test or based on your experience.

Do you think that Windows Defragmenter is good enough? Are tools like Diskeeper or Raxco PerfectDisk worthwhile? Do you really win I/O performance or are the optimizations not high enough to be noticed?


Unless you have a lot of tiny files being written/erased/written to the drive, basic defragmentation should be more than enough on Windows. You're going to have other factors that can't possibly be generalized...most servers you would have to factor in your RAID controller, caching, load, type of RAID, etc. to get performance. Your best bet would be to run a benchmark before and after running your defrag to get numbers for your particular circumstance on your particular hardware.

If defragging makes a big difference in your performance, I'd venture a bet that you should be looking at changing hardware a bit.

The bigger benchmark is whether your server is having performance issues and your users notice. Is that the case? Then start narrowing down the cause as to whether it's the disk subsystem and whether it's a problem with your drives being too slow, utilization is wrong for your RAID configuration, etc. rather than randomly poking whether a particular type of defrag will speed up access.


I would also suggest that you do not use defrag on virtual disks. While it is theoretically possible for it to be beneficial there are also many times where it is not. For example, dynamically allocated disks will balloon in size when defragged with very little improvement in access times. I have also heard negative things about live migrations with defrag.

I have used the defrag to shrink a virtual disk suggestion as Bart outlines - I have found this to be the only particularly useful case.

I suggestion letting the hypervisor take care of the disk management in most cases.


The nice part about other defraggers is that they usually move most frequently accessed files around to the fastest parts of the disks (e.g. the beginning vs the end of the spindle).
Some can also measure boot time to figure out which files need to be defragged during next boot.
Some also have an automatic defragment mode that runs in the background and when your PC is idle it defragments.

The free selection of defragmenters for Windows is excellent with very nice features:

  • MyDefrag
  • Smart Defrag
  • Defraggler