I'm not a sysadmin, but a developer. Lately, my colleagues and I have all seen a big slowdown in the performance of our Windows XP machines, especially the laptops. In fact, performance is so bad on the laptops that we really can't use them anymore.

When we tell our overworked, understaffed IT department that are machines are "slow", we usually get the canned "everything is fine, you're just impatient" answer.

Is there any data I can collect and provide to our IT department that would make it obvious how to fix the problem, or at least narrow down where they should look? I'm technical, so I'm happy to do a little leg work, especially if it means that I get better performance for the effort.


If the root causes are simple (Memory footprint, high CPU load, high IO) then the stats available from Task Manager can help indicate if there are some misbehaving services or applications. Open Task Manager, go to Processes, on the view menu click "Select Columns" and enable tracking for "CPU Time", "Peak Working Set", IO Reads, IO Writes and Image Path (dunno if the latter is available in XP). Leave it running over a typical working session and take a look at what processes have the highest values. Now ask if these make sense. Typically 90%+ of the activity should be related to user apps. If something you don't recognize is very high or top of one of the lists then some more investigation is called for, there may be a good reason (e.g. a mandatory AV\Security service might appear to have very high numbers) and there may not be (e.g. DodgyApp.exe consuming 75% of total memory).

More complicated problems can be very hard to diagnose and require some smarts. The various Sysinternals tools like Process Explorer and Process Monitor can be used to drill into quite a bit more detail to find problem areas but using them effectively takes time and a bit of expertise. On W2K8 & Vista the XPerf tools can be used to take detailed traces of the entire system behaviour while investigating issues.

A lot of overall performance issues can be caused by network problems (e.g. poor name resolution, persistent connections to shares that have very large numbers of files, simple dodgy networks throwing lots of errors etc). Troubleshooting network issues could fill a book but checking ping times to your key servers is a good start - on a LAN everything should be <1ms, your WAN latencies will be longer but they should be consistent and if any of them are >100ms then there should be a very good reason why. Netstat -e will show you whether there are any discards\errors both of which are bad at any level, if non-unicast packets exceed unicast packets by any significant margin then that is probably a problem.

Tracking down more esoteric problems can be quite hard. For example, Windows Explorer has the ability to support third party namespace\shell extensions (e.g. extensions that provide better metadata on media files, source-control repositories and so on). Installable File System Filter drivers are used to provide additional features (and occasionally restrictions e.g. DRM) and there are quite a few other places where 3rd party extensions to the user interface can be inserted by vendors. All of these can cause significant problems in terms of user interface performance (when they misbehave) because they can be triggered by many actions that appear to be relatively benign (e.g. opening a file dialog and browsing for a file). Mark Russinovich has a good article about tracing down just such a misbehaving component on his blog here a few years back. That blog post is a great place to start as a guide to finding a root cause when you know something is seriously sick.


Give your sysadmin the machine with a detailed description of the problem, including when it happens and what you are doing on the machine at the time.


Try Everest: it can generate VERY nice reports on the whole system configuration


All of the previous answers are good, so I won't try and cover the same ground. Rather, a few things i'd do before gathering further data on performance. These tips assume that the source of the issue is the disk I/O subsystem, which in my experience is generally responsible for the most obvious slowdowns, even if indirectly.

Firstly - clean your machine up. By that, I mean remove any apps that you don't actually use, empty %TEMP% and the various other temp folders your applications might use (including browser caches and other application temporary files), delete all but the most recent system restore point etc. Running Windows disk cleanup can sometimes find further files which you might overlook during a manual tidy up. I actually automate a bit of this with a script which deletes files from various temp folders on boot, i'll leave that up to you.

Next, defrag. Use a defragger like the free edition of Ultimate Defrag which can move files you commonly access to the faster parts of the disk. By default, it moves files which Windows uses on startup to the faster portion of the disk, but you can also tell it to move user files - for example, I ensure my Outlook PST files are contiguous and on the faster part of the disk.

Finally, if you're able to, move your pagefile to it's own partition. This will ensure it doesn't get fragmented, resulting in a performance improvement in paging operations.

Doing this will eliminate "wear and tear" from your investigations by eliminating some of the cruft that Windows installs amass over time, allowing your efforts to focus on specific performance problems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy