|
Home »
Windows
» Windows Oddities
Summary: Can a computer really do nothing? Yes and no. When it's doing nothing it has to do something, and that something is the System Idle Process.
This is a great example of things we geeks probably take for granted, that's not always obvious to the rest of the world. I mean, really, a process that regularly takes up 99% of your CPU's time must be a bad thing, right? Nope, not at all. Just the opposite, in this case. • First, let me show you what we're talking about. Firing up Windows Task Manager, and then clicking on the "CPU" column to sort by CPU Usage, (click again to reverse the sort order if all you see are zeros in that column) you'll often see something like this:
"Think of it as your computer just twiddling its
virtual thumbs, waiting for something more important to do."
You can see that something called "System Idle Process" is taking up a full 92% of my CPU's resources. Seems like a lot, so what's up with that? The fact is that most computers can never really do nothing. When the computer is on, the CPU's running and it must do something - even if that "something" is waiting for something real to do. Think of it as your computer just twiddling its virtual thumbs, waiting for something more important to do. The computer's doing something (virtual thumb twiddling), but we wouldn't call that doing anything useful. That's called being idle. And the "System Idle Process" is the software that runs when the computer has absolutely nothing better to do. It effectively runs at the lowest possible priority so that if anything, anything at all, comes along for the CPU to work on, it can. When there's nothing left to do, back to idle it goes. So having the System Idle Process using 90% of your CPU is a good thing ... it means that that 90% is readily availble should there be any real work to do. Related:
• Recent Comments
The devil finds work for idle processes. :-) And so does BOINC. http://boinc.berkeley.edu/projects.php is a list of projects you can donate idle cycles to when you install the BOINC software. It can either run in the background as a low-priority process, eating up idle cycles, but giving up cycles when your priority programs need them, or as a screensaver, using more of your CPU when the whole system is idle. The projects range from evaluating radio signals from space for signs of E.T. communication to helping with complex mathematical modeling. It's a great way to take those idle cycles away from the System Idle Process and donate them to worthwhile projects, making your computer a voluntary node in a giant distributed supercomputer. Posted by: Greg Bulmash at March 17, 2008 10:33 AMApparently, what the System Idle Process is actully doing is continually issuing HLT commands to the CPU; HLT being a command which, according to http://download.intel.com/design/PentiumII/manuals/24319102.PDF, "stops instruction execution and places the processor in a HALT state ... An enabled interrupt, NMI, or a reset will resume execution". Apparently doing this saves power, which raises the question of what the CPU would be doing that would use power if the OS *didn't* continually issue these HLT commands. Any ideas? Posted by: Simon at March 17, 2008 06:23 PMI am using WIN Vista Home Premium. I ran Task Manager, went to Processes, sorted the list and could not find the System Idle Process. Whats up with that? Thanks Posted by: Mike Carretti at March 17, 2008 07:24 PMOn Vista machine you'll also find that "SearchIndexer.exe" may be chewing up lots of CPU time from time to time. Vista will only show the current user's processes initially - if the user is logged in as an administrator, they can click on the Show All Processes button on the bottom of the dialog box to see everything running on the system. Posted by: David Ball at March 18, 2008 07:38 AMHi Simon said: "which raises the question of what the CPU would be doing that would use power if the OS *didn't* continually issue these HLT commands." Adding 0 to 0. Repeatedly. :) Actually, that's a joke. What it would do is check over and over again if anything's happening, like a key being pressed or the like. Read http://en.wikipedia.org/wiki/Busy_waiting (and http://en.wikipedia.org/wiki/HLT while you're at it). Also, thanks for pushing me to research this :) Posted by: Octav at March 22, 2008 06:37 PMSometimes my machine is running idle and it cannot be interrupted. That is, the idle process is too busy to notice keystrokes and mouse clicks. Leo, do you know why this is happening? I once read something about WinXp automatically moving files about, a kind of optimisation. When I can't interrupt the idle process there is certainly a lot of disk processing (I can hear the heads thrashing). I haven't been able to find the information about automatic file positioning again and sometimes wondering if it was a figment of my imagination. Posted by: Greg Webb at March 23, 2008 02:56 PMPost a comment on "What is the System Idle Process and why is it using most of the CPU?":
|
Archives Advertisers |
|