These are programs to defragment drives under Windows NT and Windows 2000. Download here.
They came into being because we were fed up with the poor performance of Diskeeper from Executive Software. Often, Diskeeper did not get anything done at all because there was not enough contiguous space for working, and it can’t partially defragment a file. And, it does nothing about consolidating free space. Most of all, there were ideas we had for improving disk performance that no tool would perform.
This is a simple command-line program that performs a defrag. Here is what it can do:
Other programs, including the ever-popular Diskeeper, actually leaves little gaps between files. These do not show up on thier interactive displays, so you might not know you even have them! Though you might wonder why a disk that's only 80% full has no visible free areas.
A dreded problem, we found, with disks that are 2/3 full or so is these little gaps, or file interstices. They are between 1 and 15 clusters in size (always less than 16), and sit between most files. This eats up a great deal of free space, and NTFS, in its infinite stupidity, will start sticking files in there when a larger free space is available, causing files with hundreds of fragments.
Yet all other defragmentors, including Diskeeper, make such interstices when defragmenting!
The reason has to do with the way NTFS works. After using the defrag API functions in the operating system to move clusters, the destination area is internally rounded up to a multiple of 16 clusters. The little gap thus created cannot immediatly be used as the destination of another move, so programs like Diskeeper just skip ahead to the next available spot. After a few seconds, these clusters become available for writing in the normal way. We beleive this has to do with the NTFS journal comittment. Anyway, if you don't wait it out, you leave little gaps.
Knowing this, dirms will pack files tight with no gaps. You can ask it to simply slide each file to the left as far as it can, thus incrementally consolidating your free space. Or you can move files into holes without causing these gaps. More on these options in the following sections.
The big problem is that waiting it out is slow. Several seconds is not bad, but magnify it by several thousand files, and you're looking at several days to do a complete defragmentation! So, thoughtful use of dirms will let you make incremental improvements each night, or perform more modest cleanups without adding to the interstice count.
Suppose you have a huge file that contains several hundred fragments. You might find that Diskeeper will not even touch it, since there is no free area large enough to put the contiguous file. That is silly! Un-fragmenting it into a dozen large fragments gives you most of the benifit! If the drive is nearly full, this will be the case for most files. But dirms can partially defragment a file, the best it can under the circumstances, and still provide improvement.
Suppose you have numerous free spaces on your disk, but no files actually fragmented. You can still move a few files to consolidate the free space into even bigger chunks. dirms will do this for you, in various ways.