Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

How do I tell what program is slowing down my machine?

Question:

I suspect that I have some software running in the background that is unwanted,
because when I scroll, my webpages move in chunks instead of moving smoothly, and the PC sounds busy almost all the time. My pages freeze and some web pages are very slow to fill - and I'm using DSL. How can I identify this nuisance?

"Unwanted" is perhaps a bit premature. We might very well find out that the
program at fault (if indeed there is a single program at fault) might be
something important and that its impact on your system might need to be
addressed by some way other than deleting it.

But I'm getting ahead of myself.

What you describe, particularly with respect to scrolling, and even more so
with respect to the PC sounding busy all of the time, does imply that there's
something on your system that's using too many resources.

We can't say, yet, which program or what resources, but we can certainly
gather more information.

]]>

Process Explorer

We're going to start by downloading and installing Process Explorer. That's a free utility that can be thought of as a replacement for Windows' own Task Manager. Process Explorer, often just "procexp", provides a much more detailed view of what's happening on your machine.

By default, Process Explorer does not run with administrative privileges, which means that it'll show you some, but not all of the information that we need.

Click the File menu, then click Show Details for All Processes:

Process Explorer: Show Details for All Processes

You'll probably get a UAC prompt to confirm.

CPU Usage

A program which is using all of your computers' CPU can often impact the performance of other applications or even the entire system, resulting in the delayed or stuttered scrolling that you're seeing.

In Process Explorer, click the column header labeled CPU to sort the display by those applications using the most CPU. You may need to click on it twice - first, to sort in increasing order and then again to sort in decreasing order, with those using the most CPU at the top.

Process Explorer display sorted by decreasing CPU usage

In the display above, you can see that the top "user" of the CPU is the "System Idle Process". That's not a real process, but it indicates that the CPU is idle, doing nothing, roughly half of the time.

It's very common to have the System Idle Process appear at the top of the list and that's good. It means your CPU is not overloaded and is available to perform other tasks.

As you can see, next up is chkdsk.exe, which I was running at the time that this snapshot was taken, using a little over a quarter of the available CPU time.

Memory Usage

Windows memory management is incredibly complex. It's the stuff of nightmares for people that understand it, and the source of much confusion for people that don't. (I'm somewhere in between - confused nightmares.) It's an incredible piece of engineering and does some amazing things that contribute to the overall speed and efficiency of Windows.

But it's not simple. Not even close.

In this case, we don't care about exact answers. We're simply interested in overall system impact and who might be the larger offenders.

There are two columns of interest, "Private Bytes" and "Working Set":

Process Explorer showing Private Bytes and Working Set

Private Bytes is kind of the amount of virtual memory being used by this process.

Working Set Size is sort of the amount of actual memory being used by this process.

Even though it's "kinda sorta", these are pretty much what we're looking for. We're not going to look at actual values or anything like that anyway - what we're going to care about is who is using what and how much, in comparison to the rest of the processes that are running on the machine.

As with CPU, you can click the column header to sort by the amount of each being used.

If you find an application that has private bytes exceeding the amount of physical memory in your machine (say it's using three gigabytes on your two-gigabyte machine), that's often a clear indication that the application is affecting your performance, as it's probably forcing Windows to read and write to the swap file a lot. That can definitely impact overall performance.

Even if neither number exceeds your installed RAM, the total of all applications is another factor to consider. Too many applications using too much memory can also often degrade overall performance. Sorting by memory usage will quickly point out the biggest offenders.

Disk Usage

Hard disks are slow compared to the rest of your computer, and if programs themselves are doing a lot of I/O, that can not only affect their own performance, but interfere with the performance of other applications also attempting to read from or write to the disk.

The columns of interest here are "I/O Delta Reads" and "I/O Delta Writes":

Process Explorer showing IO activity

"Delta" in this context means "change" - these columns show you the read or write activity that happened since the last display. Because Process Explorer updates once a second by default, that means that what you're seeing is the number of reads or writes that happened in the previous second.

Sorting by each column allows you to once again see who the biggest offenders are in each category. In the example above, chkdsk.exe was at the top of the read list, but it wasn't really doing too much.

Adding Columns to Process Explorer

If the columns that I've mentioned aren't being displayed by Process Explorer, they're easy to add. Just right-click any of the column headers and click Select Columns...:

Process Explorer Select Columns... item

You'll be given a huge list of columns that you can choose from, spread across several tabs in the Select Columns dialog box:

Process Explorer Select Columns dialog

You'll find Delta Reads and Delta Writes in the Process I/O tab, and Private Bytes and Working Set Size in the Process Memory tab.

Feel free to explore and add or remove other columns that sound interesting.

What do I do with all of this information?

Great, you've got all of this information about what program is using the most CPU, taking up the most memory, or doing the most I/O ... what next?

In the famous words of ... well, me, it depends.

Remember that there's always going to be a process using the most CPU, a process using the most memory, and a process doing the most I/O. Using "the most" doesn't necessarily mean that specific program is causing a problem.

The problem is knowing when "the most" is really "too much".

And that's not something that we can define in absolute terms.

If an application (other than "System Idle Process") is constantly using 99% CPU, then that's something to look at too.

If an application is using most of the RAM installed in your system or trying to use more than you have, or if the amount of memory used is only going up over time, that's something to look at.

If an application is reading or writing to the disk a lot when there's no logical reason why it should, that's something worth looking at.

But that's all that we can say.

Sometimes, those are normal and expected behaviors and simply a part of software doing what it's supposed to be doing on your system.

But sometimes, it's not.

At least now you have information that'll help target your investigations.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

9 comments on “How do I tell what program is slowing down my machine?”

  1. Hi Leo

    – do you have a similar guide for the 50% of us that are still on XP?

    Actually almost everything in this article applies equally well to Windows XP.

    Leo
    15-Nov-2011

    Reply
  2. I too was having lag times and various other problems that indicated that something somewhere was doing something that affected performance.

    While in the process of using Process Explorer and other utilities to diagnose the problem, I did ONE simple thing that 1.) solved the problem 2.) defined what the problem was.

    I switched browsers, from IE to FireFox. Upon installation…BAM! my laptop ran like new. I was truly amazed at the difference. Who knew that IE was bogging down my system that much! Now this simple change may not work for everyone with IE, but for me it’s worth telling others.

    I’m now happy as a clam[?], plus FireFox has excellent add-ons that truly makes internet work for me, and not the other way around [as least for me].

    Reply
  3. In response to the Internet Explorer comment, my guess would be it isn’t Internet Explorer itself but one or more of the add-ons installed in it causing the problem. It isn’t hard to pick add-ons up because many web pages will give you a prompt saying ‘Internet Explorer wants to add…’ and users always OK it because they want to see the page. A lot of add-ons come from crap-ware, as Leo rightfully calls it, where you install an upgraded program you actually use and it adds other things, tool bars especially, that you may or may not realize were added.

    If you click the gear icon to the right of the IE bar, one menu selection will be Manage Add-ons. Click it and a list will appear that shows all the add-ons tied to Internet Explorer. You can enable and disable them from there. If you note the names, many can be removed from Add/Remove programs which can be the best way to rid yourself of them since some will turn back on when you reboot.

    Truthfully, I often hear this “it’s IE causing all your woes” from people who don’t like IE with the same passion as some Apple fans have in hating anything PC or Microsoft. Often the program has zero to do with any problems, but the culprit knowingly or unknowingly is at the keyboard. I have always used IE and have since version 4 or 5 and have never had issues with it. Not with Windows 98, ME, XP SP1, SP2, or SP3, not with Vista, and not with 7. I’m currently using IE9 with Windows 7.

    I do have Chrome and FireFox installed, but Chrome is a little too stripped down for me and I just haven’t had any need to use FireFox because IE works just fine.

    Something else that’s an indicator you may have too much going on is look at your task bar at the lower right by the clock. If you have 20 or 30 icons there you may well have more going on than you have RAM to support. Hovering your mouse over them will show what they are or the menu will give an indication. Almost all have a ‘close’ or ‘exit’ selection. Close the ones you think you can live without and check performance of your PC. They will come back on reboot. If that’s the problem most have a ‘settings’ menu where you can deselect ‘launch when Windows starts’ or what ever variation of that is used. BTW: Right clicking My Computer on XP or 98, ME will show how much RAM you have on the menu that pops up. W7 is a bit more elaborate of a display but it’s there under the ‘system’ section.

    I have had this slowdown happen a couple times. Both were the result of anti-virus software. In the worst case it took my computer a full 17 minutes to go from pressing the power button to the ready to use desktop. When I went online, within a few minutes it would take 3 to 4 minutes for a web page to change. What I finally learned was it was my security suite that was screwing up. After contacting customer support I learned something was going awry in its teach mode. The “help” from the software manufacturer was to uninstall and reinstall it. That worked but it would repeat the fault every 3 or 4 days. I had switched to that brand because, at the time, Norton’s product was such a resource hog. My computer was useless whenever it was doing something like running a virus scan. That was when I switched to another brand, and bought the program I had a bigger problem with. I tried yet another well known security suite and when it would run a scan it also slowed my PC to a crawl, especially anything to do with being on the Internet. It was fine when it wasn’t doing anything but it seemed like it was always updating, running some kind of scan or checking something. What made that suite so bad was it could not be paused or stopped once it started. I even killed power once just to see if that exited it. As soon as everything came back up the scan picked right back up too. After I lost several eBay auctions because it was too slow to respond in time I had quite enough of it and went back to Norton. By then they had re-engineered their software so it wasn’t a resource hog like it once was. I still use it today upgrading to every new version that comes out. It’s cheaper if I shop to buy new than to renew.

    Point is, I think that the #1 culprit for using resources is anti-virus software / security suites. The #2 I have seen is software that is supposed to monitor changes to files. These typically produce a file of a list of changes or scan your computer for copies of the same file to update all of them. The #3 I have seen are programs that act as file storage/sharing with others over the Internet. Not saying anything is wrong with it, but I mean programs like Drop Box. I have used Drop Box and it was fine but there were a couple others I have seen which were not.

    Reply
  4. Another more likely possibility is the drivers for the graphics card have become disabled. On a clear area of the desktop Right click and select Properties/Settings/Advanced/Adaptor. This will show the presence of graphics drivers, or if they are not installed the generic graphics driver. In the absence of the correct drivers it will not be possible to change the monitor refresh rate from the core value – usually 60Hz Solution – install graphics drivers.

    Reply
  5. A decent amount of people only boot up their PCs for relatively short internet sessions and also have an antivirus or security suite set to update daily/constantly and scan on startup if the scheduled scan is missed – a perfect storm of CPU cycles, memory, and bandwidth.

    yes. For folks that operate like this there’s a strong argument for starting your computer an hour or so before you need it to let it do its scanning and updating.

    Leo
    17-Nov-2011
    Reply
  6. Kudos to all the commentators – making an excellent article even better <walks around room patting everyone on the back>

    Seconded about the commenters. Not to suck up too much, but I’m thankful for my great readers.

    Leo
    17-Nov-2011
    Reply
  7. I am definitely in the “much confused” category, however I can offer a simple solution that worked for me.

    I dropped Norton Symantec and went with one of the suites recommended by Leo.

    I also started to use Firefox with the Adblock Plus add-on, which totally blocks all those annoying ads and videos.

    As was written in a previous comment, the change was dramatic. Pages now load in seconds and scrolling is a breeze.

    Hope this helps.

    Reply
  8. Want to share my experience with ‘SpeedyPCPro’. The program works fine but the seller wanted access to my pc to install it or to ‘check’ something. When I tried to cancel the order, he sent an email with the license number. Please warn potential victims of this kind of abuse by devious sales people from ‘speedypc.com’.

    Reply
  9. I know why my PC takes a full 2 minutes to boot from cold. When you have 11 USB mirror drives attached to it, it takes time for windows to ‘re-map’ every drive with correct info. I watch each drive initialise in turn with a blank screen and the ‘C’ boot drive thrashing away. When the last device is mapped on the USB port, the windows logo appears. Again the PC re-maps every device to be sure it’s OK. then I’m ready to rock and roll.

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.