Windows – What Is Minimum And Maximum Processor State In Windows 7 Power Management

multi-processorpower-managementwindows 7

I am talking about this:

enter image description here

What should I set in minimum and maximum? I want good CPU performance but not overheated CPU and fan working like crazy.

Best Answer

These settings determine the range of performance states (or P-states) that Windows will use. In effect, this will vary the processor's clock speed and, if supported, voltage and FSB speed - increase them to meet the workload requirements, or decrease them to reduce power consumption and heat output.

To elaborate, most processors support a number of P-states, which are a combination of a frequency multiplier (also known as frequency ID or FID) and supply voltage (voltage ID or VID). A processor's clock speed is the product of FSB speed multiplied with the FID, so by choosing a lower multiplier, the clock speed can also be lowered. Some processors1 are also able to cut the FSB speed in half, resulting in what's known as SuperLFM (Super Low-Frequency Mode).

The number of P-states supported varies by processor, but is usually around 5-10. Since Windows allows a total of 100 different values for the processor state, this means that not every value will result in a different P-state being used. In other words, going from 100% to 99% or even 90% might have no effect whatsoever on the clock speed. Also, depending on which P-states are supported, the actual clock speed might differ considerably from what you might expect from the percentage; specifying 50% in Windows power options doesn't necessarily mean that your processor will run at 50% clock speed. For instance, on my Core 2 Duo T9550 with a nominal clock speed of 2.66 GHz, setting the processor state to 50% doesn't give a clock speed of 1.33 GHz, as might be expected. Instead, Windows chooses the lowest supported multiplier (FID 6), which results in a clock speed of ~1.6 GHz (FSB 266 MHz × multiplier 6 = 1596 MHz), or 60% of the nominal clock speed, as evidenced by the image below.2

enter image description here

Also, even if the minimum state is set to 1%, my processor won't go below ~800 MHz (SuperLFM), which is the lowest supported clock speed (FSB 133 MHz × multiplier 6 = 798 MHz); this is 30% of the nominal clock speed.

According to the documentation available here:

Windows Vista employs a DBS algorithm by using all available performance states that fall within the range described by these upper and lower limits. When choosing a new target performance state, Windows Vista chooses the closest match between the current power policy setting and the states available on the system, rounding up if necessary.

Intelligently choosing the percentages for Windows power options, then, involves finding out which P-states your processor supports, deciding the minimum and maximum clock speeds you wish to use and then entering the percentages that result in those clock speeds. There's no single correct answer as everything depends on your goals - whether you want to maximise performance or battery life, reduce temperatures or something else entirely. Experiment and see what works out best for you. Personally I've found that setting minimum and maximum to 5% (low enough to force lowest multiplier regardless of processor) and 100%, respectively, gives the best results. Yes, even on battery. While it might seem logical to set maximum processor state to less than 100% on battery, in my experience it's better to have the processor spend some time in the highest P-state and then return to idle as fast as possible, than to have it spend more time in some intermediate state.

For advanced tweaking, utilities like RMClock allow you to disable some P-states, as well as overclock and under- or overvolt your processor. While I personally haven't tried it, I've seen recommendations to only have two P-states enabled - the lowest possible multiplier (SuperLFM if supported) for idling, and the highest possible multiplier (at the lowest stable voltage) for everything else. Certainly something to consider playing around with if interested in such things. As long as you don't overclock or overvolt, the worst-case scenario is a BSOD and a restart.


1 For instance Intel Core 2 Duos, but not, I believe, newer Core i-series processors.
2 I'm using TMonitor to monitor the CPU clock speed and wPrime to push the processor to the maximum allowed speed.

Related Question