win32_processor and cim_processor CurrentClockSpeed shows lower value than actual processor speed

Was looking at an issue today where a whole bunch of our servers were showing clock speeds that didn’t match the max clock speed.  These servers were showing up on our exBPA reports and thus landed in my lap to investigate.  At first I assumed that something most be wrong with the report and so I logged onto a couple and sure enough they didn’t match the max speed:

PS C:\> get-wmiobject win32_processor | select=object currentclock*,max* | format-table -automatic

CurrentClockSpeed MaxClockSpeed
----------------- -------------
1999 2332
1999 2332

So with a bit of digging on the internet I found a page referencing the Enhanced Intel SpeedStep Technology:

SpeedStep is a trademark for a series of dynamic frequency scaling technologies (including SpeedStep, SpeedStep II, and SpeedStep III) built into some Intel microprocessors that allow the clock speed of the processor to be dynamically changed by software. This allows the processor to meet the instantaneous performance needs of the operation being performed, while minimizing power draw and heat dissipation.

Well that seemed promising, so I found out that you can turn this off in power options in the control panel, setting the minimum processor state to 100%:

PS C:\> gwmi win32_processor | select-object currentclock*,max* | ft -au

CurrentClockSpeed MaxClockSpeed
----------------- -------------
2332 2332
2332 2332

In the end I just turned it back on as this does save power and will dynamically increase to full usage when needed.  Another mystery solved…

 

Technorati Tags: Windows 2008