Processor power management validation tools
Information on this page applies to Windows 7 and ealier versions of the Windows operating system. For information about processor power management on Windows 10, see Configure processor power management options.
Microsoft provides several software tools to help you test and verify system Processor Power Management (PPM) support. These tools allow you to view, change, or record the system’s use of PPM technologies.
This information applies to the following operating systems:
- Windows Server 2008 R2
- Windows 7
The following is a list of these tools and their general capabilities:
Windows Resource Monitor
This tool lets you view a quick summary of the processor usage versus the processor speed. This tool is included with Windows.
Windows Reliability and Performance Monitor
This tool lets you view a plot of the current speed of each processor core against the processor usage. It also provides logging and graphical display capabilities. This tool is included with Windows.
Event Viewer
This tool lets you view entries in the system event log. The system event log includes entries that contain summary information about platform PPM capabilities and error messages that were logged when ACPI processor objects failed validation checks. This tool is included with Windows.
PowerCfg
This command-line tool lets you view or change the processor power policy, including power policy values that are not exposed in the Control Panel Power Options application. This tool is included with Windows.
Pwrtest
This command-line tool lets you view detailed information about system PPM capabilities and provides test and logging capabilities for multiple power management scenarios. This tool is included with the Windows Driver Kit (WDK).
The following sections provide examples of how you can use these tools.
Windows Resource Monitor
The Windows Resource Monitor can display a summary view of resource usage in the system, including the overall CPU usage and the use of processor throttling controls such as processor performance states and linear stop clock throttle states. This tool is shown in the following figure.
Windows Reliability and Performance Monitor
The Windows Reliability and Performance Monitor can display both processor performance state and processor idle state usage.
Viewing processor performance state usage
The Windows Reliability and Performance Monitor includes performance counters that can provide a somewhat more detailed view of the processor speed changes that occur in response to changes in power policy or changes in processor utilization. By using these performance counters, you can see the current processor speed for each processor or core in the system.
The following figure shows how to add these performance counters in the Windows Reliability and Performance Monitor.
The following figure shows an example of Windows Reliability and Performance Monitor displaying processor performance state usage.
Viewing processor idle state usage
The Windows Reliability and Performance Monitor can also be used to view and log processor idle state (APCI C state) usage. It can be useful to use the histogram view in the Windows Reliability and Performance Monitor to compare the system idleness to the three possible C states on a system.
The following figure shows an example of Windows Reliability and Performance Monitor displaying such a histogram.
Although Windows 7 and Windows Server 2008 R2 use only three discrete C-states, the underlying system can use lower power processor idle states than C3 for the third C-state. System manufacturers that would like to view how much time a system spends in these lower power idle states are encouraged to contact their processor vendor for vendor-specific tools that can be used for this purpose.
Event Viewer
The Windows kernel power manager publishes events to the system event log. At system initialization, the kernel power manager logs an informational event that provides a summary of the processor idle states that the system supports.
The following figure shows an example of such an event when it is viewed with Event Viewer.
The kernel power manager also logs error events if any ACPI processor objects fail validation checks during processor driver initialization that cause any PPM capabilities to be disabled.
The following two figures show two examples of such error events when viewed with Event Viewer.
PowerCfg
The PowerCfg command-line tool can be used to view or change the processor power policy. For information about how to use the PowerCfg tool, see Power Policy Configuration and Deployment in Windows and Using PowerCfg to Evaluate System Energy Efficiency.
Pwrtest
The Pwrtest command-line tool can be used to view the supported PPM states and to view and log processor idle state transitions. The Pwrtest tool is not included with Windows. However, it is included with the WDK.
Viewing supported PPM states
Pwrtest can be used to view a summary of the PPM states that the system supports by specifying the /info:ppm command-line option. The following examples shows the output of Pwrtest when it is run with /info:ppm on a system with an Intel processor.
C:\Program Files\Microsoft PwrTest>pwrtest /info:ppm
PROCESSOR_POWER_INFORMATION
CPU Number = 0
MaxMhz = 1833
CurrentMhz = 1833
MhzLimit = 1833
MaxIdleState = 3
CurrentIdleState = 3
InstanceName: ACPI\GenuineIntel_-_x86_Family_6_Model_14\_0_0
Processor Performance States
PerfStates:
Max Transition Latency: 10 us
Number of States: 11
State Speed (Mhz) Type
----- ------------ ----
0 1833 (100%) Performance
1 1333 ( 72%) Performance
2 1000 ( 54%) Performance
3 1000 ( 54%) Throttle
4 880 ( 48%) Throttle
5 750 ( 40%) Throttle
6 630 ( 34%) Throttle
7 500 ( 27%) Throttle
8 380 ( 20%) Throttle
9 250 ( 13%) Throttle
10 130 ( 7%) Throttle
Viewing and logging processor idle state transitions
Pwrtest can also be used to view and log processor idle state transitions. Pwrtest supports two basic modes of operation for these tests:
- A sampling mode that summarizes processor idle state usage over the sampling period. For this mode, you specify the /ppm command-line option.
- An event-driven mode that logs processor idle state transitions as they are initiated by the Windows kernel power manager. For this mode, you specify both the /ppm and the /live command-line options.
The following example is an output of Pwrtest when it is run in sampling mode.
C:\Program Files\Microsoft PwrTest>pwrtest /ppm
Elapsed Idle C1 C2 C3 P- Freq Freq Perf/
Cpu [ms] [%] [%] [%] [%] State [%] [MHz] Throttle
--- ------- ---- --- --- --- ----- ---- ----- --------
0 5007 98 0 73 26 2 54 1000 P
1 5007 99 0 93 6 2 54 1000 P
0 10014 97 0 72 27 2 54 1000 P
1 10014 97 0 91 8 2 54 1000 P
0 15021 88 1 0 0 2 54 1000 P
1 15021 89 1 0 0 2 54 1000 P
0 20028 99 0 0 100 2 54 1000 P
1 20028 98 0 0 100 2 54 1000 P
0 25035 98 0 0 100 2 54 1000 P
1 25035 98 0 0 100 2 54 1000 P
0 30042 98 0 0 100 2 54 1000 P
1 30042 100 0 0 100 2 54 1000 P
0 35049 98 0 0 100 2 54 1000 P
1 35049 98 0 0 100 2 54 1000 P
0 40056 99 0 0 100 2 54 1000 P
1 40056 97 0 0 100 2 54 1000 P
The following example is an output of Pwrtest when it is run in event-driven mode.
C:\Program Files\Microsoft PwrTest>pwrtest /ppm /live
Waiting for PPM Events. Press 'Ctrl-C' to quit...
Timestamp Proc# Event Information
----------------------------------------------------------------------
21:27:17.890 1 Idle State Demotion (Old:2, New:1, Affinity:0x2)
21:27:17.937 1 Idle State Promotion (Old:1, New:2, Affinity:0x2)
21:27:19.481 0 Idle State Demotion (Old:2, New:1, Affinity:0x1)
21:27:19.497 1 Idle State Demotion (Old:2, New:1, Affinity:0x2)
21:27:19.528 0 Idle State Demotion (Old:1, New:0, Affinity:0x1)
21:27:19.590 0 Idle State Promotion (Old:0, New:1, Affinity:0x1)
21:27:19.606 1 Idle State Promotion (Old:1, New:2, Affinity:0x2)
21:27:19.637 0 Idle State Promotion (Old:1, New:2, Affinity:0x1)
21:27:38.871 0 Idle State Demotion (Old:2, New:1, Affinity:0x1)
21:27:38.918 0 Idle State Promotion (Old:1, New:2, Affinity:0x1)
21:27:41.133 0 Idle State Demotion (Old:2, New:1, Affinity:0x1)
21:27:41.133 1 Idle State Demotion (Old:2, New:1, Affinity:0x2)
21:27:41.196 1 Perf State Change (State:0, Speed:1833 Mhz)
21:27:41.196 1 Domain Perf State Change
(State:0, Speed:1833 Mhz, Affinity:0x3)
21:27:41.196 0 Idle State Demotion (Old:1, New:0, Affinity:0x1)
21:27:41.242 1 Idle State Promotion (Old:1, New:2, Affinity:0x2)
21:27:41.242 0 Idle State Promotion (Old:0, New:1, Affinity:0x1)
21:27:41.305 0 Perf State Change (State:0, Speed:1833 Mhz)
21:27:41.305 0 Idle State Demotion (Old:1, New:0, Affinity:0x1)
21:27:41.367 1 Idle State Demotion (Old:2, New:1, Affinity:0x2)
21:27:41.414 1 Idle State Promotion (Old:1, New:2, Affinity:0x2)
21:27:41.461 0 Idle State Promotion (Old:0, New:1, Affinity:0x1)
21:27:41.493 0 Idle State Demotion (Old:1, New:0, Affinity:0x1)
21:27:41.546 0 Idle State Promotion (Old:0, New:1, Affinity:0x1)
21:27:41.579 1 Idle State Demotion (Old:2, New:1, Affinity:0x2)
21:27:41.606 0 Idle State Demotion (Old:1, New:0, Affinity:0x1)
21:27:41.630 1 Idle State Demotion (Old:1, New:0, Affinity:0x2)
21:27:41.790 1 Idle State Promotion (Old:0, New:1, Affinity:0x2)
21:27:41.814 0 Idle State Promotion (Old:0, New:1, Affinity:0x1)
21:27:41.890 1 Idle State Promotion (Old:1, New:2, Affinity:0x2)
21:27:41.915 0 Idle State Promotion (Old:1, New:2, Affinity:0x1)
21:27:41.994 1 Perf State Change (State:1, Speed:1333 Mhz)
21:27:41.994 1 Domain Perf State Change
(State:1, Speed:1333 Mhz, Affinity:0x3)
21:27:42.126 0 Perf State Change (State:1, Speed:1333 Mhz)
21:27:42.344 1 Perf State Change (State:2, Speed:1000 Mhz)
21:27:42.344 1 Domain Perf State Change
Pwrtest provides several other command-line options that can be used to tailor the sampling rate and information that is logged in these modes. For more information, see the documentation that is included with Pwrtest and the Pwrtest command-line Help.
Related topics
Processor Power Management in Windows 7 and Windows Server 2008 R2