
Every computer user has noticed it; over time, your system slows down. This is particularly true in these days of constant security updates as replacing operating system components not only increases the potential for file fragmentation, but also creates a more insidious problem—over time, the operating system itself ends up scattered all over your disk. This, of course, doesn’t show up as fragmentation—after all, the files themselves are probably contiguous—but nevertheless, it takes your machine longer to start up, it takes programs longer to start, and above all, it takes longer to get your work done.
Add in the size of some of the files in common use today, especially music, video, graphics and computer games, and even the best filesystem has trouble keeping things contiguous.
Some people say that HFS+ is so good that you don’t need to defragment. In a way, they’re right—HFS+ is pretty good at keeping small to medium sized files from getting fragmented… it isn’t particularly good, however, at keeping large files or free space from fragmenting, a particular problem on the Mac because the swapfile must be contiguous on the disk, so you can actually run out of virtual memory long before you run out of disk space if your free space is fragmented.
Another objection—this time raised by Apple—is that existing defragmentation tools may actually slow your machine down by moving files into or out of the “Hot Band”, defeating Panther’s Adaptive Hot File Clustering code. As far as we know, iDefrag is the first defragmentation tool for the Mac that fully supports the Hot Zone, guaranteeing that this is not a problem.
Even if you aren’t interested in defragmenting your hard disk, if you produce products on CD-ROM disks, iDefrag will be of use. Seek times on CD-ROM and DVD-ROM disks are many times slower than those of hard disk mechanisms, so fragmentation really hits performance, in some cases adding many minutes to read times. iDefrag can defragment disk images before they are burnt onto CD or DVD-ROM, optimizing access time and significantly reducing install or read times.
And, unlike other products, iDefrag provides a wealth of information about your files, so you can see which ones are most fragmented and even look where they are on the disk. The screenshots on this page are from a perfectly normal 120GB hard disk, installed in a PowerMac G4 that is used for software development, wordprocessing and other everyday tasks (writing this web page, for instance). Look how fragmented it has become; most of that is actually down to one or two large files—like /usr/bin/emacs, shown on the right, with 96 fragments—but there are a substantial number of less fragmented files, over 3,000 in fact.


Now, some other defragmentation tools can display individual blocks, but how many also show you the entire disk? And of those that can display the entire disk, how many keep the display sub-pixel accurate even during defragmentation? Plus, the whole disk display can be used to quickly navigate about the disk by dragging or clicking the mouse pointer on it.
On top of this graphical sophistication, iDefrag supports the very latest filesystem features, including case sensitivity, journaling and adaptive hot file clustering. It has four different defragmentation tools, supporting
The first three are ordinary, off-line algorithms; they require that the disk be un-mounted, which means that they cannot be used on disks with open files. The last one, however, will work on filesystems that are currently in use. As far as we know, iDefrag is the only defragmentation tool on Mac OS X that supports both techniques.
As for the programmable optimization algorithm… it uses the same classification engine used to color the blocks on the display, and can be configured using arbitrary expressions in a simple text file. For instance, say you wanted to group all files whose name contains in “Barn” and that are between 10KB and 10MB in size into a single place; or perhaps you want to place everything from the “/sw” directory in the same part of the disk. It’s easy with iDefrag.
Version 1.6.5 of iDefrag now includes a workaround for a problem with Leopard. For more information, please see our Frequently Asked Questions.