OREALLY said:
I have defragged all my drives. They read 0% Fragmented. However,the
'system' drive or folder, reads 8% ....but when I highlight it to
analyze or defrag it, just flashes and does nothing.
Why is this?
Thanks
Oreally
There may be a log somewhere. You can see
the "pass count" the defragmenter uses.
Operating it from the command line, may give more
details, than using the GUI. If the reason it is
completing quickly, is because it got an error,
then you'd want to know about that. You might
even check Event Viewer. A good defragmenter will
run some version of CHKDSK, before defragmenting - a
damaged file system should not be defragmented, and
should be repaired first.
The Windows 7 defragmenter is not supposed to defragment files which
are larger than 50MB. If you download a 7GB DVD from the Internet,
the writes to disk are interrupted occasionally by other file system
writes, the file ends up fragmented. When the defragmenter sees that
file, the level of fragmentation likely gets totaled up (part of
the 8%), but on the other hand, the defragmenter won't fix it.
This helps exclude large data files, and speeds up the defragmentation
operation.
A third-party defragmenter, goes to greater lengths to:
1) Show a graphical display with defragmentation details.
2) Defragment everything, so that the graph in (1) looks "beautiful".
And that's what customers pay for, in a defragmenter.
*******
In terms of looking for a third party defragmenter, a large part
of what they do is called "optimization" and not "defragmentation".
The purest defragmenter is Sysinternals "contig", which stops as
soon as all blocks in a file are next to one another. Using contig,
if you defragmented everything, all the files might be defragmented,
but the files end up randomly distributed over the partition.
On the WinXP defragmenter (which is actually a commercial defragmenter),
they "push the files to the left". That is not part of defragmentation.
That is an optimization policy. In addition to the simple-minded "push
all the files to the left", it also uses the prefetch hints the OS
collects. If I run my copy of Firefox right now, Windows keeps prefetch
info that says "Paul likes to use Firefox". After a few days of using
my favorite apps, the OS has a pretty good picture of "what Paul likes".
Now, the opportunity to do something about it, comes when defragmenting.
The programs I like, can be moved to the front of the disk. Even if
all the files were perfectly defragmented, files might still get moved
around so "Firefox is near the front, and Firefox is defragged".
Other defragmenters have even more elaborate policies. JKDefrag
(a freebie), moves all the big files to the back of the partition.
They're called "hogs". The author of JKDefrag has his reasons
for doing that. In some cases, the policy can be tuned, such as
not sorting things into piles like that. If you don't want your
"hogs in the back", you can still adjust JKDefrag.
Before selecting any defragmenter, make sure it is compatible with
all the OSes you plan to own. Just so the defragmenter doesn't make
a mess. Modern defragmenters, can use the API in Windows for moving
files around, so for the most part, what they're doing is safe. But
still, if the optimization policy one of these tools, doesn't
match your lifestyle, I consider what it does to be making a mess.
Shop carefully.
I don't specifically recommend using the defragmenter from an older
version of Windows, on a newer Windows. For example, using the
Win2K defragmenter to process a WinXP C:, makes a mess. The result
is actually non-optimal. If you use the WinXP defragmenter on a
Windows 7 partition, that could make a mess as well. So even if
you "like the appearance" of what an older OS defragmenter does,
that doesn't necessarily mean it will do a good job, avoid
damage, on a newer OS.
If the author of a defragmenter writes code for the newer OSes,
at least you have some assurance he researched the differences,
and you're not "letting a monster loose on your computer".
If you're testing a defragmenter for the first time, make
a backup copy of the partition first. For example, say I wrote
a defragmenter program, and sent it to you. The prudent thing
to do, would be to back up C:, before trying my program. There
are some free commercial defragmenters, which should be
treated with equal skepticism.
Maybe I'm running JKDefrag for the first time. I trust
the author not to break my disk, but by accident I
"move the hogs to the back". If I have a backup, I
can restore from that backup, and learn from my
lesson. And the next time, be more careful in building
a command line to run the program. So even a "finger problem",
could require rectification with a restore from backup.
HTH,
Paul