Helping people with computers... one answer at a time.
What you're really going for with defragging is speed. It doesn't have to be perfect to get the lion's share of speed improvement from defragging a disk.
I've read your article which likens defragging to picking up the bits of a windblown newspaper from the garden and how badly a teenager might do this, but strange things happen when defragging an external hard drive. On a 150 GB drive with 73 GB free, I start with just one fragmented file, a 47.7 MB in two fragments. After Defraggler has run for two hours and 10 minutes, I still have one fragmented file of 47.7 MB, but now in three fragments. That's an improvement? On a 300 GB, with 75% free, I start with 15,000 files fragmented in 45.7 GB. In 72,000 fragments and 12 hours later with 46% defragged, I still have 8,000 fragmented files, of 30 GB in 44,000 fragments with a calculated time remaining of 7 hours and 10 minutes. Ultimately, why the discrepancies in the end result in the first instance and the horrendous amount of time it takes in the second instance? Especially here in the second instance where the system has 75% free space to copy files to join up the fragments and move them to the beginning of the filed drive space?
In this excerpt from Answercast #67, I look at a case where the results from defragging an external drive don't seem to make sense.
OK, there are several things at play here.
First let's talk about that first case where a file has only two fragments when it starts and may end up having three fragments when it's done. I realize that is totally counterintuitive. That's not at all what you expect.
But your question of, "Is that an improvement?" You know, it could very well be. And the reason may be that those three fragments are actually closer to each other than the two fragments were that we started with.
Consider this scenario where you've got a large hard drive. This was a 150 GB drive and yes, it has lots of space free. Your file is in two fragments. The worst-case scenario is that one fragment of the file is at very beginning of the disk and the second fragment of the file is at the very end of the disk. So, reading that file could potentially take a fair amount of time - where it would at least have this big hiccup in the middle of reading it, where the disk head has to move from the entire front end of the disk to the back end of the disk.
Now, let's defrag it. The defragger may prioritize getting the file closer together in that kind of an extreme case. So the result is having three fragments, but those three fragments are all physically very close to each other, say at the beginning of the disk. That could indeed be a significant speed improvement.
Like I said, it's not intuitive and it's part of the reason that different defragmenting programs will give you different kinds of results. I'm not familiar with how Defraggler prioritizes things. I'm just kind of speculating here that yes, this is a scenario where a file of three fragments could be perceived as a calculated improvement over a file with only two fragments; depending on where those fragments happen to reside on the hard disk media.
Now, let's look at this other one: the 300 GB drive again with 75% free. You've got a bunch of files; it's taking a really long time.
You know, there are two things here that are very difficult to conceptualize. One is defragging is an awful lot of work - especially if the files are highly fragmented to begin with. It doesn't really matter that there's a bunch of free space. I mean it matters. But it doesn't matter in the sense that it's not going to make a tremendous amount of difference to (as you say) collect the pieces of the file into a single file that's in the free space and then copy that single file back to a larger space elsewhere on the disk.
Realize that the fragmentation can be so bad that there may not be a contiguous piece of free space big enough for the file that you're defragmenting. So what that means is that the defragger actually has to move things around in order to make space (even though there's lots of free space) in order to make contiguous free space for the defragging operation to work.
Now, some work that way. They will actually defragment the free space and then use the size that it has collected in contiguous free space to reassemble files and then copy them back.
Most will actually do the opposite. Most will typically start moving the files around, if you will, in order to make a contiguous piece of space where it can then assemble all of the pieces of the file with the rest of the file. So it's not really working by assembling the files in free space. What it's really doing is moving things around so as to make contiguous areas in what will eventually be the used space.
Like I said, it is complicated. That can involve a tremendous amount of copying. And by tremendous, I honestly mean tremendous. A highly fragmented disk can cause a lot of activity as all of these file pieces are moved around to make room for the reassembly of all these other file pieces into hopefully what will result in a more defragmented disk.
Now the other thing that you've got going against you here is that you've got an external hard drive. External hard drives unfortunately are slower than your internal ones. At least USB 2 and USB 1 [are] significantly slower.
So, defragmenting an external hard disk on a USB 2 connection is definitely going to take significantly more time than defragmenting the equivalent disk on an internal connection.
I don't know about USB 3; I honestly don't. I just touched on USB 3 myself for the first time within this last week and my initial thinking is that it may be pretty darned fast. But since most people are still running USB 2 for external hard drives, I think that's what is also contributing to this.
So ultimately, it's very difficult to underestimate the amount of file fragment moving that goes on when a defragging program does its job.
Exactly how a defragmenter defrags? This is one of the things that differentiates one program from another.
It differentiates Defraggler from Microsoft's Windows' own internal defragging program. They go about it differently. One may take longer or shorter than the other. They may result in better or more defragmented disks when they are done. Sometimes, they don't.
One of the things that is sometimes interesting to do is to defrag a disk, and then defrag it again right away.
You will almost always find that there's still some defragging that can go on the second time. The first time didn't get it perfect. That's because there's just so much work involved; it is extremely difficult to get it right without doing, like I said, multiple passes in a case like that.
The good news is that what you're really going for with defragging is speed.
You don't have to be perfect to get the lion's share of the speed improvement from defragging. So defragging once, defragging most everything, still having some fragments left over, is fine. Your hard disk will definitely be faster than it used to be if you started with a highly fragmented hard disk.
Ultimately, yes, defragging is kind of a black art. It's very disk intensive and it is (like I said) very difficult to overestimate the amount of activity that it really takes to defrag a hard disk.
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.