Sent to you by Chris Hunter via Google Reader:
I hear people talk about "defragging" their computers all the time as a way to make it faster, but I'm not really sure what that means. What does defragging do and is it something I need to do to my computer? How often?
"Defrag" is short for "defragment," which is a maintenance task required by your hard drives.
Most hard drives have spinning platters, with data stored in different places around that platter. When your computer writes data to your drive, it does so in "blocks" that are ordered sequentially from one side of the drive's platter to the other. Fragmentation happens when those files get split between blocks that are far away from each other. The hard drive then takes longer to read that file because the read head has to "visit" multiple spots on the platter. Defragmentation puts those blocks back in sequential order, so your drive head doesn't have to run around the entire platter to read a single file. Image by XZise.
When You Should (and Shouldn't) Defragment
Fragmentation doesn't cause your computer to slow down as much as it used to—at least not until it's very fragmented—but the simple answer is yes, you should still defragment your computer. However, what you need to do depends on a few factors. Here's what you need to know.
If You Use a Solid-State Drive: No Defragmentation Necessary
If you have a solid-state drive (SSD) in your computer, you do not need to defragment it. Solid-state drives, unlike regular hard drives, don't use a spinning platter to store data, and it doesn't take any extra time to read from different parts of the drive. So, defragmentation won't offer any performance increases (though SSDs do require their own maintenance).
Of course, if you have other non-solid-state drives in your computer, those will still need defragmentation.
If You Use Windows 7 or 8
Windows 7 and Windows 8 automatically defragment your hard drives for you on a schedule, so you shouldn't have to worry about it yourself. To make sure everything's running smoothly, open up the Start menu or Start screen and type "defrag." Open up Windows' Disk Defragmenter and make sure it's running on a schedule as intended. It should tell you when it was last run and whether your drives have any fragmentation.
Note: A lot of you are finding that Windows 7's "automatic" defrag leaves a lot to be desired. All the more reason you should check in with Disk Defragmenter every once in a while and make sure it's doing its job! Windows 8 seems to be much better about running it regularly.
Note that in Windows 8, you'll see your SSDs in the Disk Defragmenter, but it doesn't actually defrag them; it's just performing other SSD-related maintenance. So don't worry if it's checked off along with the other drives.
If You Use Windows XP
If you're on Windows XP, you'll need to defragment your drives yourself. Just open the Start menu, click Run, type
Dfrg.msc and press Enter. You'll open up the Disk Defragmenter, from which you can defragment each of your drives individually. You should do this about once a week or so, but if you want, you can set it to run on a schedule using Windows' Task Scheduler.
If you're using an SSD, you should really upgrade to Windows 7, since XP doesn't have any built-in tools for SSD maintenance.
If You Use a Mac
If you use a Mac, then you probably don't need to manually defragment, since OS X will do it automatically for you (at least for small files). However, sometimes defragging—particularly if you have a lot of very large files—can help speed up a slow Mac.
When You Should Use a Third-Party Defragmenting Tool
We've talked a bit before about the best defragmenting tools, since Windows' built-in Disk Defragmenter isn't the only one. However, for the vast majority of people, Windows' built-in tools are just fine. Third-party tools are useful if you want to see which files are fragmented or defragment system files (like if you're trying to shrink a drive), but are otherwise unnecessary for most users. So kick back, let your scheduled defragger do it's thing, and forget about it!