Using the task manager to make Windows XP perform better
Wednesday, October 22, 2003 by Draginol | Discussion: Personal Computing
My work machine stays up for weeks and often months at a time. In fact, the only time it gets rebooted is when our office loses power (which is too frequently, yea I should get a UPS).
People are often shocked at this. How do I keep my system running for so long, especially given how hard I push it day in and day out while running all the major components of Object Desktop? On Windows XP, it's actually pretty easy -- once you know what affects stability.
It all starts with the task manager. To get to that, hit CTRL-SHIFT-ESC. When you do that, the task manager in Windows XP will come up.
Whenever you have a problem with your system, whether it be acting slow or saying it's out of memory or just acting weird, you'll want to pull up the task manager.
Once you do that, go to the Performance tab. Check and see how much RAM is in use. A lot of young techies get obsessed with the amount of memory committed. Don't. Check to see if your CPU meter is pegged too high, check to make sure you're not using a ridiculous amount of memory (I have 1 gig installed so 419MB in use is no biggie). But most importantly: Check the handles in use. This is what slows down your system.
The # of handles in use should never grow much beyond 12,000. When you get to 15,000 handles, weird things can start to happen and you'll feel your system slow down. This is where most people just reboot. They'll throw up their hands and say "Well, time to reboot." But that's unnecessary because the task manager can tell you what program(s) are using up those handles.
So now click on the processes. You'll want to go to View->Select Columns and choose the items that are chosen here. You want to know things like the handle count, the GDI objects, and the User Objects. If any of those numbers are >2,000 on a given item, that item is doing something bad.
Once you have that set up. Look at the column headers. Sort by the ones I've highlighted in yellow first. Is something using up most of your CPU? Then kill it if it's not supposed to. Is something using more than 2000 handles? If so, you should probably kill that too. Same for User Objects and GDI Objects.
And then finally, sort by memory usage and then VM size. Don't worry too much about those numbers unless you're running low on RAM. The VM Size column isn't terribly useful anyway because it double counts libraries being loaded (i.e. a program that needs to read .PNG files will load a library that uses that but another one that uses the same library will get that counted too. Mem Usage is the one to keep an eye on. But again, even there, don't sweat that number too much unless it's using a signficant percentage of your installed memory. Internet Explorer is using 21 megs of RAM. Sounds like a lot right? But that's only 2% of my installed memory. Back in the old DOS days of 640K 2% would be just over 12K of memory.
CPU, Handles, GDI Objects, User Objects, these are the things to keep an eye on. If you kill processes that are using up an unusual amount of these resources, you can keep your system up indefinitely.