The objective of defragmentation tools is to reduce filesystem
fragmentation. When there is not enough space to store the file in a single
contiguous block of space, the file is stored in a several nonadjacent blocks on
the disk. This phenomenon is called fragmentation. Fragmented files take
longer to read compared to unfragmented ones, because additional disk head
repositioning is required for each nonadjacent block. The performance may suffer
because head positioning is the slowest of all possible drives' operations.
Defragmentation tool fights this by relocating files to occupy contiguous
blocks. Defrag procedure is generally safe (provided that there is no existing
damage to the disk; it is worthwhile to run chkdsk or a similar disk checker to
ensure no damage on volume before starting defragmentation). Defrag tools are designed in such a way that a power
failure during defragmentation run does not lead to data corruption (or at least
the damage is well contained).
The fragmentation issue only applies to the devices on which access time
(required to fetch the data) depends on the location of that data. Currently,
the most common storage type, namely a hard drive, is susceptible to
fragmentation. Drive head movement requires considerable amount of time. On the
other hand the "electronic" type storage devices (e.g. a flash memory) are not
affected because their access time does not depend on where exactly the data is
Surprisingly, there are very few really solid defragmentation tools around.
- Diskeeper defragmenter (www.diskeeper.com).
The reduced (feature-wise) version of Diskeeper is integrated into Windows
(starting with Windows 2000). The integrated version is pretty much the same
as full one (defragmentation-wise) with some convenient features stripped,
e.g. no scheduling, no parallel defragmentation, no screensaver mode.
- O&O Defrag (www.oo-software.com).
O&O Software offers another well-known defragmenter.
- SysInternals PageDefrag (www.sysinternals.com/Utilities/PageDefrag.html)
is a tool to perform boot-time defragmentation of certain system files (e.g.
page files and/or registry hive files) These files are normally locked for
exclusive operating system use and thus inaccessible to the "common"