Core Parking, a new feature in Windows Server 2008 R2, is a Windows scheduling technology that improves energy efficiency by dynamically scaling the number of processor cores in use. When cores are not in use, they transition to a state that consumes less power.
In addition to managing cores on a single processor, Core Parking also helps to scale throughput and optimize energy efficiency across multiple processors in a server system. Additionally, on systems with processors equipped with Intel Hyper Threading technology, Core Parking is leveraged to help intelligently schedule work between threads.
Core Parking is enabled by default on all Servers with multi-core processors that run Windows Server 2008 R2. Additionally, core parking is enabled client systems with multi core, hyper threaded processors running Windows 7 client.
1 Resource Monitor
Figure 1 shows a screen capture from a system with two quad core Xeon processors (eight processors) running Windows Server 2008 R2. The Resource Monitor application clearly displays the status of each core. In this instance, six of eight cores are parked. You can also determine if a core is parked or unparked by checking the “Parking Status” counter in the Performance Monitor tool (perfmon.exe). “Parking Status” can be found under the “Processor Information” performance counter group.
Figure 1. Resource Monitor
2 Disabling Core Parking
While Core Parking is beneficial for most customers, there are certain scenarios Core Parking should be disabled in such as in a high performance or high availability environment. Core Parking can be disabled with the following commands:
1. Powercfg.exe /L
This dumps the list of power schemes. Find the SCHEME_GUID corresponding to the current selected power policy – it is marked with an asterisk to the right.
2. Powercfg.exe /QH > current-power-cfg.txt
Open the text file and find the SUB_GUID on the line that looks like this: Subgroup GUID: 54533251-82be-4824-96c1-47b60b740d00 (Processor power management)
Then find the SETTING_GUID on the line that looks like this: Power Setting GUID: ea062031-0e34-4ff1-9b6d-eb1059334028 (Processor performance core parking max cores)
3. To set the wall-powered value, enter:
Powercfg.exe -SETACVALUEINDEX <SCHEME_GUID> <SUB_GUID> <SETTING_GUID> 0
4. Restart the Server
Its all done J