win 7 pro said 1% fragmented AFTER I defrag the hard disk

Happy Hopping

Supreme [H]ardness
Joined
Jul 1, 2004
Messages
7,837
this is the 1st time I've seen this. I have win 7 for 3 mth. Everytime I defrag the hard disk, it says 0% fragmented, until now, in 1 of my 4 hard disk, after I defrag it, it shows "1% fragmented"

Has any1 else got this problem?

and while I'm on this subject, what is Pass 1, pass 2, why so many passes?
 
I don't run mine manually, I let windows do it on a scheduled. But i just looked at it and all 4 drives show 0% fragmented on my system that was installed on 10/25/09. So i don't understand the 1% on yours, but i don't see it as a big deal really.

I'm guessing that maybe pass 1 is when it is actually analyzing the disks then pass 2 is when its running the defrag. just a guess.
 
It's 1-freakin-percent, aka irrelevant in the big scheme of things. :)

Surely you can find something better to do than obsessing over such trivial concerns? Some files simply cannot be defragmented when the OS is actually in operation; a manual defrag (done from the command line) can handle those files during the next reboot.

I put my machines and hard drives through sheer torture daily with dozens if not hundreds of file copy/paste/move/delete operations, especially when doing a lot of video editing and encoding, and no matter what I do to these machines, whenever I check the fragmentation level it's always under 2% which is almost a miracle for Windows machines.

Windows 7 can take care of itself, leaving you free to stop worrying about the small stuff.
 
The answer is probably a file that is too large, the defragger ignores any files above a certain size.

But the real answer is, who cares?
 
Ok, seeing as how I don't know the exact size of your hd's, consider every thing here as made up but applicable.

Let say you have a 200gb hd. Single platter, this means the data is on 2 sides of the disk. Let's assume the disk has 100 cylenders for nice round math. And we are going to ignor sectors even though they are relevent and still apply.

So this leaves us with 100gb on one side, with 100-1gb cylenders let's say that you already have 20gb worth of data on the disk, (10% total disk usage) and you rip down a single 2gb dvd one large file. The harddisk must put the file on 2, 1gb cylenders. Cylenders, are tracks, but they are not spiral shaped like recordes, when one cylender ends, the head must move up or down to the next. So, while your 2gb file is linear, it is fragmented, and is fragmented in such a way that it will show as 1% total disk fragmentation. And there is not a damn thing you can do about it.

Immovable files sitting on cylender ends (page file, hibernation file, large .img files) will show as fragmentation.

Your page file is typicly twice the size of your ram. And the hibernation file is the same size as your ram. Both are nearly garrenteed to be acrossed multiple cylenders.
 
IT's a "temp" file drive. Only 36GB Ultra 320 SCSI. I use it for my pagefile, temporary download file, junk files, it's only 15 GB full. But this is the 1st time I ever seen a 1% fragmented sign

Since we are on this subject, what's all these "passes"? The defrag, regardless of hard drive, has to go thru pass 5 or even 6. Why can't they defrag the drive on pass 1?
 
It's more efficient to move "stuff" around based on what it is. A simple defrag operation is easy - a simple efficient defrag operation with respect to the layout of files and arranging them so the OS and those files load faster when requested is a much more difficult thing.

The multiple passes ensure that "stuff" is moved out, checked for past access dates and times, then the layout info from SuperFetch is checked and compared, then the data is written back on the drive in a manner which ensures it's accessed very fast as well as more efficient given how physical hard drives work.

When everyone is running SSDs someday, defragging won't matter since the data is still accessed at the same speed no matter where it exists on the "drive." On physical hard drives, performance suffers based on where the info is stored on the platters, hence defragging which is used to keep it running as fast as it can.
 
The Windows defragmenter does not report fragments larger than 64 MB by default, that's probably why it always showed 0% fragmentation initially. Some of the new files written to the drive must have split into fragments larger than 64MB so that's being reflected in the '1% fragmentation' message now.

As for number of passes..it depends on the defragmenter's algorithms...some are designed for processing of the volume in a single 'sweep', but AFAIK, these single-pass utilities are more resource intensive. Current multi-pass utilities are generally automatic in nature (set & forget) and process the volume in the background according to availability of idle system resources; this ensures that the defrag does not interfere with other apps and is transparent to the user. The Windows defragger is a background defragger, but is quite slow, and not a 'real' auto defragger since it has to be started up manually or via the task scheduler.
 
The Windows defragger is a background defragger, but is quite slow, and not a 'real' auto defragger since it has to be started up manually or via the task scheduler.

If what you just said were true, Windows 7 would find itself severely fragmented in a short amount of time. The automagic nature of it running in the background when required is what makes things different now.

Not a real auto defragger... and yet it defrags automagically... see how that kinda doesn't work out? If it didn't work - and it does - then after a day's use with the kind of torture I put my machine through would leave me staring at 10, 15, perhaps 20% fragmentation and it doesn't.

So, again... not a real defragger, and yet my system stays in an almost perpetual state of having < 2% total fragmentation. But, maybe letting actual Windows 7 Engineers explain it might be better:

http://blogs.msdn.com/b/e7/archive/...g-the-windows-7-improvements.aspx?PageIndex=3
 
So, if you disable the schedule for the windows defragger, does it start up and defrag automagically?:D

It's a low priority background process that is triggered according to schedule weekly (by default, IIRC). That's all.
 
Why would anyone do something as stupid as disabling one of the key aspects to Windows 7's astonishing performance as time goes by?

Anyone? Anyone? Bueller? Bueller?
 
Nice try, but that's not the point.;)

Consider this 'hypothetical' scenario.

The windows defragger starts on a schedule at a preset time (for eg., every Wed, 0100h).

It defrags as a low priority background process to clear up 'all' the fragmentation that it has encountered.

Then it stops; it's work is done.

Soon, say, a day after the defragger has finished its run, I add a few tens of thousands of small files to the volume. For whatever reason, I delete half of them, and modify many of the remaining files so that the volume sees 'significant' fragmentation.

Q: Will the Windows defragger automagically kick in and defrag this 'significantly' fragmented volume before next Wednesday's scheduled run, without any action on the part of the user?

A simple yes or no will suffice.:D
 
Yes, it does, as I've explained hundreds of times around here.

If it didn't, there's no possible way my primary drive could remain at under 2% fragmentation regardless of the completely random times that I check it.

Which, to be honest, is entirely too frequently and another bad habit I could do without considering Windows 7 takes care of it for me, automagically. :D

Simple yes or no... are you insane? We're [H]ard around here, not [M]ental. :p
 
Why would anyone do something as stupid as disabling one of the key aspects to Windows 7's astonishing performance as time goes by?

Anyone? Anyone? Bueller? Bueller?
Oh, hey, you're back.

Either way, +1 to this. Micromanaging your system configuration doesn't work. For 99% of people, the system is better at tweaking itself than you are at tweaking it. For the other 1%, the time you spend will be longer than any time you save.
 
Yes, it does, as I've explained hundreds of times around here.

Not logical.

If it's automagic, why the need for a schedule? According to your explanation, it never stops 'running' in the background once it has started up on the weekly Wednesday schedule. That defeats the purpose of scheduling, no?:confused:

The Windows defragger starts on a schedule. It works to clear up all the fragmentation it has encountered at start.

When working (can take a while since it is slow) if it comes across new fragmentation from fresh file writes, it (probably) clears that up too.

When everything is done*, it stops. It starts up the next time ONLY according to the preset schedule. This is the simplest and most logical explanation.

[*I am making the assumption that it finishes defragging before the start of its next scheduled run.]

Otherwise, you're implying that the task scheduler essentially serves no function!:confused:

There are probably other explanations for the behavior of your personal system, including the possibility that the Windows defragger is not reporting correctly (i.e. excluding 64MB or larger fragments), your drive isn't experiencing much fragmentation in the first place etc etc...difficult to guess over the internet.
 
Not logical.

If it's automagic, why the need for a schedule? According to your explanation, it never stops 'running' in the background once it has started up on the weekly Wednesday schedule. That defeats the purpose of scheduling, no?:confused:

The Windows defragger starts on a schedule. It works to clear up all the fragmentation it has encountered at start.

When working (can take a while since it is slow) if it comes across new fragmentation from fresh file writes, it (probably) clears that up too.

When everything is done*, it stops. It starts up the next time ONLY according to the preset schedule. This is the simplest and most logical explanation.

[*I am making the assumption that it finishes defragging before the start of its next scheduled run.]

Otherwise, you're implying that the task scheduler essentially serves no function!:confused:

There are probably other explanations for the behavior of your personal system, including the possibility that the Windows defragger is not reporting correctly (i.e. excluding 64MB or larger fragments), your drive isn't experiencing much fragmentation in the first place etc etc...difficult to guess over the internet.

Vista's disk defragmenter (and I assume Windows 7's) automatically defrags the hard-disk in the background. Task Scheduler is there for the eleventy-billion other uses it can have.
 
Last edited:
I know that the task scheduler has eleventy billion uses,:rolleyes: I am talking specifically about the task scheduler being used to schedule the defrag.

What is so difficult to understand?
If the damn defragger starts up automatically, why use the task scheduler to schedule a weekly defrag?

If the damn defragger starts up whenever it likes, then it does not respect the task scheduler. Then there is no reason to schedule a defrag.

If the damn defragger obeys the task scheduler, then it cannot start up whenever it likes. That means the defrag is not truly automatic.

Not exactly rocket science, is it?

Such a behavior, of the defragger bypassing the task scheduler for a preset schedule, is not documented by Microsoft*. If you have proof to the contrary, post it.
 
I know that the task scheduler has eleventy billion uses,:rolleyes: I am talking specifically about the task scheduler being used to schedule the defrag.

What is so difficult to understand?
If the damn defragger starts up automatically, why use the task scheduler to schedule a weekly defrag?

If the damn defragger starts up whenever it likes, then it does not respect the task scheduler. Then there is no reason to schedule a defrag.

If the damn defragger obeys the task scheduler, then it cannot start up whenever it likes. That means the defrag is not truly automatic.

Not exactly rocket science, is it?

Such a behavior, of the defragger bypassing the task scheduler for a preset schedule, is not documented by Microsoft*. If you have proof to the contrary, post it.

I don't think the defragger starts up by itself - Win 7 has some built-in functionality that helps reduce fragmentation seamlessly, in the background. This is not the same as the dedicated defragger running, which it does periodically, on a schedule. Likely the full defragger runs weekly because the automatic defrag function is not perfect, and you want to clean up any of the fragmentation that it leaves behind. Have you ever run the defragger and seen any large number for the amount of fragmentation? I don't think I've ever seen more than a few percent, the times I've run it, so something is working fairly well.
 
I don't think the defragger starts up by itself - Win 7 has some built-in functionality that helps reduce fragmentation seamlessly, in the background. This is not the same as the dedicated defragger running, which it does periodically, on a schedule. Likely the full defragger runs weekly because the automatic defrag function is not perfect, and you want to clean up any of the fragmentation that it leaves behind. Have you ever run the defragger and seen any large number for the amount of fragmentation? I don't think I've ever seen more than a few percent, the times I've run it, so something is working fairly well.

I don't use Win 7 at home yet (the Win 7 machines at work are all locked down and slow as shyte), so I haven't had any opportunity to play around with the defragger in depth. But this is the first time I've read about anti-fragmentation process operating in the background, since Microsoft hasn't mentioned it anywhere AFAIK (i could be wrong though).

I completely agree with your statement about the defragger not starting up automatically, which was exactly what I was discussing earlier in the thread.

As for the defrag analysis showing a low number, if the 7 defragger is anything like that in Vista (I used Vista for a few months before dumping it), then it could be ignoring large fragments (> 64 MB), while most other defrag utilities include these fragments in their analysis to yield a higher number. But this may not be true in all cases, so I cannot state my theory as an indisputable fact :); I am sure the defragger does its job most of the time, albeit slowly.
 
I gave you a link directly to a Microsoft blog produced by the engineers of Windows 7 itself explaining the changes in the defragmentation process. If that doesn't explain it literally in black and white, then I don't know what to tell ya...
 
I know that the task scheduler has eleventy billion uses,:rolleyes: I am talking specifically about the task scheduler being used to schedule the defrag.

What is so difficult to understand?
If the damn defragger starts up automatically, why use the task scheduler to schedule a weekly defrag?

If the damn defragger starts up whenever it likes, then it does not respect the task scheduler. Then there is no reason to schedule a defrag.

If the damn defragger obeys the task scheduler, then it cannot start up whenever it likes. That means the defrag is not truly automatic.

Not exactly rocket science, is it?

Such a behavior, of the defragger bypassing the task scheduler for a preset schedule, is not documented by Microsoft*. If you have proof to the contrary, post it.


In Vista, the "damn defragger" is scheduled to run automatically by default in Task Scheduler. However, if your PC doesn't happen to be on at the time that the Task is scheduled to run, the next time you start up the PC it runs defrag.exe in the background when the PC is idle (assuming the drive is fragmented).
 
I gave you a link directly to a Microsoft blog produced by the engineers of Windows 7 itself explaining the changes in the defragmentation process. If that doesn't explain it literally in black and white, then I don't know what to tell ya...

From your link:
In Windows XP, defragmentation had to be a user-initiated (manual) activity i.e. it could not be scheduled. Windows Vista added the capability to schedule defragmentation &#8211; however, only one volume could be defragmented at any given time. Windows 7 removes this restriction &#8211; multiple volumes can now be defragmented in parallel with no more waiting for one volume to be defragmented before initiating the same operation on some other volume!

and

Defragmentation is scheduled to automatically run periodically and in the background with minimal impact to foreground activity.

Where does it say that defrag runs in the background whenever it likes without being triggered by the scheduler as you have claimed? In fact, the engineers explicitly state that defragmentation is scheduled!!:confused:

Electrofreak, yes, it is scheduled to run 'automatically'. But if it is scheduled, it's not really automatic is it? Looks like the MS engineers have used the term 'automatic' with a broad/incorrect meaning.

Windows XP defragger could also be crudely 'scheduled', atleast for one volume. Was it 'automatic' too?

True 'automatic' defragmentation does not require a task scheduler; the commercial utilities that do true 'automatic' defrag are 'always-on' types that monitor for fragmentation and defrag automatically when idle system resources are available (whether all users need this is another topic, and I am not debating that here). Windows defrag is not truly 'automatic' because it relies on a task scheduler to start at a preset time.

Anyway, this discussion is going around in circles. I am going to stop now. Interesting discussion nonetheless.:)
 
I've seen a couple other alternative defraggers listed here so I though I might as throw in the one I use every once in a while.. and especially on pre-windows7 machines.

It is called MyDefrag and is a wonderfull little program that is free.

http://www.mydefrag.com/

It is way better than the pre-Windows7 defraggers and seems a bit better than the windows 7 one from the few times I have run it.
 
Back
Top