Skip to: Site menu | Main content

How to use Performance Monitor to troubleshoot poor performance

I had a computer that was very slow for it’s processor and memory: a Celeron 2.4Ghz with 512Mb RAM. Extracting the files from a 4MB zip file took 4 minutes and it took the processor to 100%.

Opening task manager (with alt+ctrl+del), and then going to the tab processes and sorting by CPU usage was telling me that “explorer” was taking all this processor power! When you see that, usually you need to think if

  1. Is the process really working at user level? or…
  1. Are there some system calls that are going wrong?

To analyze that, you have “Performance Monitor”: click start -> run, and type “perfmon”, OK. What you want to watch for is:

  • leave on the cpu usage counter on
  • add privilege time counter (very important)
  • add system calls counter
  • feel free to add some more that are helping you, like IRQ/s (which may detect a hardware problem), disk queue, bytes read/s, bytes written/s

Adjust the scale on each counter that is too low or high flat on your graph. Maybe you will end up with a graph configuration like mine:
Performance Monitor watching system calls and processor usage

What did perfmon told me? I found out that the privileged time counter was following closely the cpu usage counter and the system calls counter literally exploded upwards when I tried to to a simple unzipping.

Something was interfering with normal file open/read/write operations. It could have been only two:

  1. A virus
  1. An antivirus

The computer had the silly Yahoo SBC Online Protection installed, with a rebranded CA(Computer Associates) antivirus that “never catches anything”. I uninstalled that and the computer was snappy as it was brand new.

Always look out for misbehaving antiviruses and real time protection programs when you’re troubleshooting poor performance on your own computer.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use Textile markup to format text.

More information about formatting options