Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

My computer has been up for 30 min but task manager shows that CPU Time for System Idle Process at 1:30 plus. Every second it advances another 3 or sometimes 4 seconds.

The machine is also running, at this time very slow (though not generally).

It's an up to date Win 7 x64.

Why is System Idle Process faster than real time?

share|improve this question

2 Answers 2

up vote 4 down vote accepted

One could compute the used CPU time, assuming the task scheduler balances the tasks across all cores evenly (or at least in a distributed manner) as:

CPU Time = Application Time * Number of Cores * Average CPU Utilization

The System Idle Process is just a wrapper for the task scheduler when there is no work to be done by the CPU, so in the case nothing else is running on the system, this usually has a very high utilization. Assuming you have a 4-core system, and your idle process takes up 95% of the CPU, every second you would expect the idle timer's CPU time to increase by:

CPU Time = (1 second) * (4 cores) * (0.95) = 3.8 seconds

Note that as we get better processors and as our operating systems become more optimized, this would theoretically max. out at 100% (e.g. at idle, the CPU has literally NO work compared to it's capabilities), in which case you would expect the CPU Time for the idle process to simply increase at real-time multiplied by the number of cores.


Note that this formula applies even for single-threaded applications, since if a single-threaded application is running constantly on a 4-core machine, the maximum processor utilization would only be 25%; thus, the CPU time for that single-threaded application should nearly match real-time:

CPU Time = (1 second) * (4 cores) * (0.25) = 1 second
share|improve this answer

The task manager shows CPU time, not real time.

CPU time is the time that was allocated to the given process on any available CPU. So if you have a quad core system, and you only run processes on one core, the idle process will use the remaining time on the other 3 cores.

Thus you will get a CPU time usage of 1 hour 30 minutes during your 30 minute uptime.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.