How do I find out what program is using all my CPU?

Occasionally, one program will use up all of your computer's processing resources. Using Process Explorer, it's easy to figure out which program that is.

//

My machine is slower than molasses in the winter time. I suspect that one or more programs are simply using up all of the available CPU time. How do I tell which ones they might be so that I can turn them off, or whatever?

Yep, that sounds slow.

Actually, it happens to me from time to time as well. A program will decide it has something very, very important to do and uses your computer and all of its processing power to do it.

The good news is that it’s easy to find out which program that might be.

All evidence to the contrary, computers can really only do one thing at a time. OK, a dual-core or dual-processor machine can do exactly two things at a time, a quad core can do four, and so on. But a single CPU can do exactly only one thing at a time. It just switches between them all really, really quickly.

So, when one program needs all of the CPU’s attention, other programs that need the CPU might not get enough time to do their work. That typically results in a very slow system from a user’s perspective.

We can use Task Manager to figure out who the culprit is, but I very much prefer the free download Process Explorer. Download and run it, and you should see something very much like this:

Process Explorer

The default display shows all of the tasks running on your computer, in hierarchical order; if program A was the one that started program B, then program B appears indented beneath program A. That can be helpful for other reasons, but not what we want here.

Click the column labeled CPU and Process Explorer will sort the processes by CPU usage. The processes using the most CPU will be listed at the top:

Process Explorer sorted by CPU Usage


In many reports that I get, it’s a program called ’svchost.exe’ that has people concerned and mystified.
Here, you can see that when I took this image, my CPU was actually 68% idle; in other words, it was doing nothing at all two thirds of the time. The next highest program on the list was SnagIt, the screen capture program that I use, using about 14% of CPU, followed by Windows Explorer, Trillian, and others in decreasing order.

Here’s another example after starting up an audio processing utility:

Process Explorer sorted by CPU Usage

Here, that program is using about 50% of my CPU’s available processing power.

I’ve talked about svchost and why there might be more than one copy running on your machine before. As of this writing, there’s a common problem that people are experiencing involving the Windows Update service causing its instance of svchost to use all available CPU. If you right-click on the svchost that appears at the top of Process

Explorer’s CPU usage list, click Properties, and then click the Services tab, you’ll see all of the system services that instance of svchost is providing:

Services List for an instance of svchost

You’ll see that this is the instance of svchost that handles Automatic Updates on my machine and that I have the option of stopping that service right there.

Regardless of what’s actually causing your CPU usage problems, if you’re having any, Process Explorer is a quick way to not only identify the culprit, but as its name implies, explore some of the interesting information about the processes running on your machine.

There are 28 comments:

  1. Ken Reply

    Speaking of multiple svchost processes…

    Is it possible to know which svchost process is handling which services? (This is XP Home, which doesn’t have a “tasklist” command.)

  2. Leo A. Notenboom Reply

    —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    Sure. Download and use Process Explorer as described in the article.

    Leo
    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.6 (MingW32)

    iD8DBQFGL7aZCMEe9B/8oqERAu3VAJ93IWx94phJ0Ijb/vvtvUmDjqGo+QCcDE6W
    bh3f5VCvMCOgO1ThrmCVmak=
    =dXFA
    —–END PGP SIGNATURE—–

  3. Ken Reply

    D’oh! That’s what I get for not reading the article as thoroughly as I should have. I missed the part about “here’s how to get the list of services…”

    Thanks.

  4. Dell Reply

    Leo, I’ve been around the block a time or two and can make absolutely NO sense of this program. Once I click on “CPU” the list keeps jumping around like banshees. I tried to right click on one program but couldn’t catch it!!

    Quite frankly (and I’m no beginner) I can’t figure out what it’s supposed to do or how I’m supposed to run it. Any suggestions before it finds the bottom of my recycle bin?

  5. Fred Reply

    Sometimes when a process begins hogging CPU, it locks the computer and nothing can be done to trace it. There is one solution to this, a free program called Process Tamer http://www.donationcoder.com/Software/Mouser/proctamer/index.html
    It limits CPU usage for individual programs effectively preventing your PC from seizing.
    While you’re checking it out, check out the rest of Donation Coder, they are a very good group of programmers.

  6. Joseph Goodof Reply

    Processing power… Unless I missed something,you’ve explained how this effects a slowing of PC operation… but how does one cure it….Telling me, by a garage mechanic why my car does what it does is not much help unless someone tells me how to fix it….Most of us are not too interested in “why”… just how can it be remedied?

  7. wlc network Reply

    Re: Posted by: Dell at April 27, 2007 08:46 PM

    If you simply left-click on any column heading, OTHER than CPU, the the list will stop jumping around like banshees.
    Regards
    Bill

  8. Leo A. Notenboom Reply

    —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    It jumps around because which programs are using the CPU changes. Every second
    process explorer updates the list to be in the current most-used CPU usage
    order. You can adjust the update speed if you like using the View->Update Speed
    menu item. Or you can click on the CPU column again to get things sorted by
    name.

    Leo
    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.6 (MingW32)

    iD8DBQFGNCUCCMEe9B/8oqERAmdlAJ9Byx+Sdt8ZRQKedWBwfxViJgIhEgCdHl9s
    goxdy1YmSopHu7B+Rtg85/Y=
    =ttgT
    —–END PGP SIGNATURE—–

  9. Leo A. Notenboom Reply

    —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    Joseph: a garage mechanic can’t fix a car without seeing it. There are SO many
    reasons that a program might suck up all the CPU there is no one, single
    solution. All that mechanic-at-a-distance can do is provide you with some tools
    to help diagnose the problem yourself.

    What this article does is provide a way for you to gather perhaps the most
    important clue: to figure out what program is taking all the CPU. That could be
    any of 100′s programs, and the next steps to fixing the problem will depend on
    what program that is.

    Leo
    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.6 (MingW32)

    iD8DBQFGNCfrCMEe9B/8oqERAkrlAJ498imjoCKcURmnSbF5JLISjPJa8wCfRT6N
    Y7rLEfFoojMWZwdmfqPaf40=
    =1bOG
    —–END PGP SIGNATURE—–

  10. Bill Reply

    Got that program after reading about on your newsletter and I find it a great boone to getting info on what is going on and where all the named processes are.Thanks for great leads.
    Bill

  11. Bombay Granny Reply

    Very useful and easy to understand. I’ve printed this article for myself because I need the hard copy of multiple-step instructions right in front of me as I’m doing whatever. But as with so many Web pages, the meat of the article printed in such tiny print that I’m having a devil of a time reading it. My 8 1/2 x 11 page is full, I didn’t have to shrink it to fit, and under my View category, I’ve clicked on the Largest type size, but none of this helps the pages to print the type in a larger size. This is only for Web pages and email. Word and Excel documents print whatever size I tell them to print. Suggestions, please. My printer is an hp 7660 and I know how to change things in the printer only through the pages I can reach when I click on the Print button. Thanks for any help you can give me.

  12. Leo A. Notenboom Reply

    —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    What browser are you using?

    Leo
    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.6 (MingW32)

    iD8DBQFGNkOtCMEe9B/8oqERAj1cAJ9IP4qRHbXO011Jk2PZnFAoCBx05wCeP+Bf
    TsqR8u0I4gJTQzlR5jTgkzc=
    =v18+
    —–END PGP SIGNATURE—–

  13. Michael Horowitz Reply

    I agree with Leo, Process Explorer is invaluable. So much so that I have it set to run automatically at startup time (minimized to the system tray).

    I use PE with the display sorted by process name. This keeps things from jumping around like they do when sorted by cpu usage. It also gets rid of the process tree display which is of no use to me. The only down side to this is that if you have many processes, the one using the most cpu may not fit in the display and you’ll have to scroll down to see it.

    And, I get rid of the lower half of the display which is also of no use to me. There is button on the toolbar for this – it is referred to as the lower panel.

    Click on View -> Select columns. PE is a wealth of information.

  14. Peter Robinson Reply

    At Last Leo
    Thank you I’ve been Hoping this type of program would pop up.
    Now when my computer freezes or slows down I can find out why
    Pete

  15. Cheryl Reply

    Where do I go to find out what Browser I am using? I am NOT Computer Knowledgeable, so please help me. Some of the programs I want to use do not function and it all depends on what Browser I have.

  16. Ryan Reply

    Wow, this is an amazing problem, found one computer had the update problem, and another has the error from HP’s program.

  17. Rita Reply

    Is there a way to actually specify which program gets to use all of the CPU? When I used a Mac years ago, we were able to designate more memory to the program we used the most. Can Windows Vista or XP do anything like that?

  18. Faldor Reply

    So svchost.exe uses up a lot by providing services to other programs. How do I know which program is the culprit calling svchost to do all the work? I’ve looked in Process Explorer and seen scvhost.exe with no underlying executable (unlike when Windows Update uses it). I’ve tried svchost Viewer but that once again only lists the modules that instance of svchost is responsible for. Thoughts?

  19. Richard Collins Reply

    What about the dire warning you get when you elect to kill a process? Overkill? I have experienced a serious crash after killing a running process.

    Yep, that depends entirely on the process you’re killing, which is why you must be warned. Some are benign, others are critical. Process Explorer can’t know the ramifications, so it must warn.

    Leo
    22-Apr-2010

  20. Frank D Reply

    Time after time over the past 10 years of using WinXP (now SP3) I’ve found that it’s always the “DNS Client” service that’s taking up all my (single) CPU’s cycles after a Windows Update. Simply disabling that service whenever I see _svchost_ going berserk immediately brings my computer back to its normal operating state, and there are absolutely no negative consequences in terms of web-surfing. Try it and see if it works for you.

  21. Steve Bukosky Reply

    This is great. It should help me determine why my wife’s computer is so slow, before I do a clean reinstall of everything.

  22. Nicholas Gimbrone Reply

    Few things any of us do really uses much of the CPU (burning DVDs, movie editing, etc are some examples that do)… most of the time when you have a performance problem it is from another source than pure CPU usage. Four primary culprits are: disk access contention; memory saturation; network saturation; lock contention. My home systems are almost always at 100% CPU usage with no problems as we use background processes doing real science: see http://www.worldcommunitygrid.org/ for more information.

  23. Bombay Granny Reply

    OK, I’ve found the cause, but how do I tell if this is something that can be removed, deleted, disabled, etc.? I don’t know enough to know what might disable or even crash my machine.

  24. David Cox Reply

    Using either Task Manager or Process Explorer, with nothing open except one IE page (yours), System Idle Process ranges for the CPU column as 75-95. Your comments indicate this is a percentage. Under the Performance tab, the graphics for CPU Usage and CPU Usage History are ranging 0-40-50%. And, at the bottom of Task Manager the number of prcesses open is indicated along with Commit Charge and CPU Usage in a range of 5-18%. What are the difference between the two CPU usage percentages then? I still have not been able to figure out why some execute files such as iexplore.exe, explore.exe, taskmgr.exe also keep bouncing around with different CPU and Mem Usage numbers. Thank you.

  25. James S Reply

    AnVir Task Manager Free is no only a close competitor to Process Explorer, it puts an icon in the information area that, when clicked, brings up a little always-on-top window that tell you what your CPU usage is (for every core), how many processes are active and which one or two processes are using the most.

    This is very useful for watching activity without getting in the way.

  26. bob D. Reply

    life is sweet, life is short, too short to scan all the goodies sent in by all the ask Leo readers, thus unless i got the prob dealt with in the issue at hand i skip comments unless i want to contribute to the general fund of knowledge had only on ask Leo, so here goes ::

    heat problem:::: yep we had it,,,,, but my wife, who knows all sees all solves all etc, investigated our table top Acer double user pc bought $750 at Costco (land of the free) and hot enough to cook eggs on…………. lo and behold she found the cooling fan that exhausts at the side big panel of the machine and saw (i would never have seen it)
    that the seive (sp ?) that lets the fan blow its hot air into the outside stratosphere was covered with white stuff that shut off the openings and thus the hot air did not go outside and thus cool the machine but made it get hotter and hotter til burn out, so she took sponge put in soapy water, squeexed almost dry, washed off the outside dust that had found its rightful home on top of the seive, as above, and
    soon as that air-stopper was clean and thus open thus the hot air went outside and inside the machined cooled off, yep, miracle….

    but also if above does not work, i.e. let machine stay coolest to your satisfaction, get a cheapo fan point it to the outside opening, seive, above,
    and when you touch with your fingers and find it too hot then crank the outside fan point to the inside fan and run it full speed until above is cool as you want it, then to lo speed, and if me i would (after wash and clean as above the screen) keep it pointed there and run at lo speed all the time i used the pc…..

  27. Jake Reply

    You are a wealth of information Leo! I wonder how accessible Process Explorer is with screen readers? Or perhaps I’ll just have to figure that one out myself? I’ve been having issues with my Windows Vista machine for quite some time, and I’m wondering if I need to check up on all the processes going on in there or have someone help me do it. I actually gave Microsoft’s new dedicated accessibility hotline a call several months ago to see if they could help me figure this out. I talked with Ryan who was very helpful. One of the things he did was try and perform some sort of scan at boot-up, but it refused to work after a few attempts. So I think one thing I need to do is just try and figure all this stuff out. I’ve asked others about these more technical things, but the response has always been that I should probably not mess around with anything because it’s too technical and I could inadvertently disable something that I really do need, such as the sound drivers. I think it’s rather ironic that I’ve always been told to leave this more advanced stuff alone, yet I want to learn more technical skills.

  28. Dave Reply

    The svchost service processor-hogging problem (which I have experienced, grinding the PC almost to a complete halt) was mentioned. It might be worth noting that a Microsoft Fixit for this (if I’m reading everything correctly) managed to screw up the “Background Intelligence Transfer Service”, which is used for updates, due to an error when used on XP (yes, I KNOW support is ending soon!). Reference here:
    http://forums.techguy.org/windows-xp/1114342-svchost-again-3.html
    I had all the problems mentioned and have used the script in the post created by Dougcuk and it works a treat, safely doing exactly what it says on the tin, restoring the BITS service and therefore the update service and no more svchost bringing the computer to its knees either. If anyone has the weird service “@%SystemRoot%\\system32\\qmgr.dll” or similar showing in XP, this appears to be part of the problem and the script should affect a cure.

Leave a reply:

Before commenting please:

  • Read the article. Seriously. You'd be shocked at how many people make comments that prove they didn't.
  • Comment only on the article. If you have a new, unrelated question start with the search box at the top of the page.
  • Don't post personal information. Email addresses, phone numbers and such will be removed.
  • Don't spam. Comments that look the least bit like spam will be removed.

Thanks!