When running XP's default defrag program on my Acer laptop, it takes maybe 3 hours before it stops, and then the job is never done: it is clear from the programs graph that a lot remains to be done (and I can keep running it times and times, and it never gets the job properly done).

Is it just supposed to work this bad? Do I need to run it many times successively?
Note: I have 5 Gb spare, on a 120 Gb drive.

5 Answers
5

Yes, it is quite normal, if you have very little free space on that drive. Try deleting or moving some data off it before defraging.

When I defragment my drive, I usually try to leave no less than 10-20% of it free.

ED: As others have noted, you can try cleaning up temporary files, reducing space reserved for system restore or virtual memory. But I personally preferred not to spend time freeing some space bit by bit, when I had the same problem. Just find a few big files and drop them off onto another partition/HDD/DVD-RW.

About using other defragmenters: I've tried a few (O&O Defrag, Defraggler and etc.) and did not notice any significant improvement in speed over the default one. Some of them do offer different options, like ordering defragged files by how often you use them, size, folder structure and whatnot, that supposedly improves performance. But that improvement (if there is any) is hardly noticeable. So I prefer to stick with that old defragmenter instead of installing some additional cr... ahem, software - it just works.

Also, because of the space allocation methods used by modern filesystems, having the recommended 15% free greatly reduces the chance of new files being immediately split into fragments.
–
David SpillettSep 18 '09 at 10:15

As stated by some others you need to free up more space to get the defrag to work. The first places I'd look are at how much space system restore is stealing (it only needs a couple of gig but defaults to about 15% of the disk) and then your temporary folders which get quite cluttered.

You can get at the system restore properties by right clicking on my computer and choosing properties then going to the system restore tab and clicking settings then just drag the slider to a sensible position and click ok.

To get rid of temporary files easily I prefer to boot from a live CD (ubuntu install CD or bartpe etc.) then browse to c:\documents and settings\username\local settings then delete the temporary internet files folder and the temp folder, they'll get recreated on reboot.

Make some place on your disk (if you can). You can use a tool like WinDirStat to find out big things you don't need anymore.

Use a better defragmenter. I use an open source defragmenter since a long time: JkDefrag. The next version has nice scripting options and is called MyDefrag however it is just freeware (not open source anymore)

When having just a few MB left Windows uses the MFT (for NTFS) to store small files and never puts them out when space becomes available again. JkDefrag does this job!