Helping people with computers... one answer at a time.
When you defrag files the pieces of the file are physically arranged for quicker access. But you can't defrag some files. At least, not easily.
My wife's computer shows several fragmented files remaining after a defrag. She has tried uninstalling some programs but some will not uninstall. What can I do to help rid her of this problem or is there a program that will help with this?
My first reaction is to suggest not calling it a problem. It's not at all uncommon to have some files that refuse to defrag, and that's quite alright.
Let's look at some of the reasons, and some of the ways to force the issue if you still feel you need to.
Defragging, or more properly, defragmenting, is the process of taking all the parts or "fragments" of a file on your hard disk and making sure that they are physically next to each other, and in order. Files don't need to be that way ... the first part of your file could be on the outer rim of the hard disk, the next part somewhere on the inner portion, and other parts scattered in between. The "problem" that defragging solves is when all those pieces are next to each other and in order, the hard disk has to do a less work to access the file.
There are several technical approaches to defragging, but most require that you have enough free space on your hard disk for a copy of the largest file that needs defragging. Typically defraggers just require some percentage of free space, like 10% or 15%.
If there's not enough room for a second, temporary, copy of the file then the file cannot be defragged. The most common cause for files not getting defragged is that there's not enough free space on the hard disk to do so.
The second most common cause is that the file is in use by some program. That's why most defragging utilities suggest you close down all running programs prior to attempting to defrag. One of the things you can do when you run into this situation is to look at the list of files that were not defragged and see if they are in use. This article: How can I find out who is using a "file in use"? explains how. If you can, you can then shut down the program that has the file open, and try defragging again.
The next problem is that the operating system, as part of its normal workings, often has files open, and that therefore cannot be defragged. One very common example is windows paging or swap file. The folks out at Sysinternals.com have a free utility, PageDefrag for just this purpose. It can schedule a defrag of the system files on your next boot, before the system is actually running.
Similarly, booting from a CD such that the operating system is running from the CD and not your hard drive might also be an option to allow a normal disk defragger to run.
But my question is - why bother?
Defragging the files you can defrag easily, and regularly, gets you 95% of the performance gain you're looking for anyway. Jumping through these extra hoops to get the system files defragged is typically just not worth it, unless you've determined that these files are severely fragmented. And that's rare.
My recommendation is to simply do the normal defrag every so often. If you leave your computer on all the time, this article, What is 'defragging', and why should I do it? even includes instructions on setting up an automated defrag every night, which is exactly what I do.