Why does my Win 2K "system idle" process run at twice real-time?

Looking at the list of active processes on my win 2K box ( a Dell Optiplex GX270) I note that the CPU timer for the system idle process is running at twice normal speed, ie every second the clock timer ticks over two seconds. This phenomenon has persisted through several reboots, and happens only on this one computer. Any ideas?

Your machine has two logical processors… possibly an intel hyper-threading processor, which can do two operations for each of its clock cycle, or something like that. (I have one too, but I don’t completely understand it - not a hardware specialist.)

process timers are counted in terms of a single logical processor. When nothing much else is going on, both logical processors are putting nearly 100% of their time towards ‘idle processes.’ Thus, nearly 200% of elapsed time is going towards that.

It’s confusing, especially since they cut those figures in half for the ‘processor in use’ realtime values. Thus one program running at full power on one of the logical processors would read 50%, but would still accumulate 10 seconds of processing time for every 10 real seconds.

Does that help explain??

Intel’s hyper-threading only works on Windows XP.

Hmm… interesting. Well, the similarity to my hyper-threading box is quite strong. Any chance it’s two physical processors??

That was my first thought as well, but I cracked the box and there’s only the one.

That’s absolutely untrue. Hyperthreading “works” in Windows NT, Windows 2000 and Windows XP.

The only problem that hyperthreading presents in Windows NT and 2000 is a licensing one. Both NT and 2000 cannot recognize an HT processor and will run in regular SMP mode instead of HT mode.

This means that you cannot use dual HT processors with Windows 2000 Professional or NT Workstation, as the OS will think that there are 4 CPUs in the system (Windows XP will correctly recognize 2 HT CPUs, although Task Manager will show 4 CPUs, which is correct). If you had some need to run a dual HT box with Windows 2000, your only choice is to run 2000 Server, which will accept 4 CPUs.

In any case, a computer running 2000 or XP in HT mode will run at the same speed (inherent OS speed differences notwithstanding).

Not entirely true: Windows 2000 will see a CPU with hyperthreading enabled as 2 CPUs; Windows XP will see it as 1 CPU.

What are you feeding your hamsters?

Aha! Now we’re getting somewhere. How can I check to see if hyperthreading is turned on?

I’ll confirm that the original phenomenon is hyperthreading. My 2 real CPU box here at work runs at 4x normal speed, both processors are hyperthreaded.

Here’s a page that may help you determine if you magically have HT support with your Windows 2000 box.