Our tips on finding and weeding out system performance hogs, optimizing memory, and restraining Vista's features will make your system soar.

Serdar Yegulalp, Contributor

December 6, 2007

4 Min Read

7

Tune Defrag, But Not To Excess



Defragging is one of those universally recommended system performance tweaks, but it should not be counted on excessively. It will not speed up a hard drive that is already slow, and it's not worth investing a great deal of time and effort in tweaking if the payoff is indiscernible.

Microsoft reworked how Defrag works in Vista -- it now runs by default as a scheduled task without user intervention. These changes inspired a lot of ire, mostly from people who insist on micromanaging defragmentation (whether or not such tweaking actually creates any measurable results), and not from regular users who hate having to remember to defrag.




Fine tune your defragmentation schedule.

Still, there are a few manual optimizations you can make to change the way Defrag runs, mostly to have it complement your work habits. Your best bet is to set Defrag to run during a stretch of time when the system will be running, but idle for at least part of the time. Defrag is designed to run at low I/O priority and not hog the system, but if you want it as far out of your way as possible without having to manually invoke it, then editing the schedule makes sense.

To do this, just type "Defrag" in the main menu's search box, click on "Disk Defragmenter," and click on "Modify Schedule." My choice has been to set the machine up to start Defrag at noon (i.e., when I take lunch); by default the scheduler waits for a three-minute block of idle time before starting Defrag. After using this setup for about a month, my fragmentation stats remained at around a satisfying 1-2%.

Another thing that has been pointed out is that, by default, Defrag does not touch file fragments larger than 64 Mbytes. This is because the vast majority of the time you get no real performance improvement by consolidating those fragments -- you typically spend more effort shoving those pieces around than you get back in speed. I set up a scheduled task to run Defrag with the -w switch once a month, which cleans up any fragments larger than 64 Mbytes -- but it's set to run at a time when I'm not likely to be around (4:00 A.M.), and running it more than once a month would probably not improve anything.

(Sneaky trick: If you lock the workstation [Winkey-L], Vista interprets that as a sign that you're idling, and will let Defrag or indexing operations run that much faster.)

If you still want to manage defrag a little more closely, there are options. The command-line version of DEFRAG can be run from an administrative CLI to give you fragmentation statistics; run it as defrag with no options to get help. You can also always get a third-party defrag tool for free and use it instead if you want more detailed feedback and control -- I've used JKDefrag, which is very nicely done -- but I've found virtually no discernible difference in performance by doing so.

There are two other things you can do that will strongly affect fragmentation. The first is keeping a generous allotment of free space on a given drive; I personally strive for at least 33% free space whenever possible. The second is upgrading to a bigger hard drive -- say, going from an 80-Gbyte or 160-Gbyte drive to a 320-Gbyte or even a 500-Gbyte drive. This will have far more of an impact on performance as a whole, including fragmentation, than anything you could do in software.

About the Author(s)

Serdar Yegulalp

Contributor

Follow Serdar Yegulalp and BYTE on Twitter and Google+:

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights