What is CPU Parking and how does it affect you? Nowadays your processor has multiple cores that does the processing. More processing power means more power consumption. In an effort to curb that consumption, Windows 7 puts one or more of your cores into a sleep like mode called ‘parked’.
This can be an issue when playing games as sometimes the cores remain parked even if you need the extra power. Sometimes they are unparked automatically when needed but has caused stuttering effects in newer games when doing so.
You can make changes to your PC to unpark these cores and allow for a better experience. The worst thing that has been reported is more power consumption but that is to be expected. I myself have unparked the cores in all of my PC’s and have seen drastic improvements in Tera and Battlefield 4.
The first thing to do is check to see if your cores are parked. Please note that I have found that both my desktop PC’s and Laptops running win 7 have had their cores parked. Win 8 is supposed to have this feature off, however some have claimed their PC had it turned on. To check to see if your cores are parked is really simple.
Right click on your taskbar and Click on Start Task Manager, Click on the ‘Performance’ Tab at the top of the Windows Task Manager window that pops up. Click on the ‘Resource Monitor’ button at the bottom. When the Resource Monitor window opens, click on the ‘CPU’ Tab at the top.
In this window you will see a set of moving graphs labelled CPU Total, CPU 0 , CPU 1 etc. If any of the CPU Graphs with a number designation says ‘Parked’ then you know that the OS is Parking it.
There are two ways to turn off the parking. Either manually using the registry editor or using a 3rd party program to do so for you. I myself am comfortable with the registry so I prefer to do it the manual way. The video following this article claims to have used one of the automated ways and that it worked properly.
Manually Unparking (credit to sky60234 at forum.cakewalk.com)
– Go to Regedit
– Find this key:- ” 0cc5b647-c1df-4637-891a-dec35c318583 ”
– Within this key, there is a value called: ” ValueMax ”
– This value represents the % number of cores the system will park – the default 100% ie: all Cores are potentially park-able
– Change the value from 64 to 0 so the ” ValueMin ” and ” ValueMax ” are both zero
– You will have to find the key a few times and repeat the process for each time it is found – the number of instances will depend on the number of power profiles in your system [ in my DAW it was only found twice ]
– Do a full shutdown and power-off and cold-re-start
ParkControl is freeware that enables easy adjustment of Windows core parking.
This solution was posted by mad_man on cakewalks forums and gives the option to set parking and unparking based on the power profile selected.
Now, what you’re doing when changing the ValueMin and ValueMax is setting the valid range of values for every possible Power Plan configuration, but you’re not changing the configurations themselves. The actual value is set every time you activate a Power Plan, either by switching them or by switching from AC to DC (battery) power on laptops. For every configuration parameter, every Power Plan has two values, one for AC and another for DC. Some of those parameters, like this one, are just hidden from the Power configuration User Interface.
Since the parameter is hidden, it allways have the default values, 10% for both AC and DC variations in all the Power Plans. Hence, when you change the plan, this 10% value exceeds the range limit you’ve set for ALL the plans (from 0% to 0%), hence your solution worked. But what we actually want is to tweak the OS by changing the real values, and not it boundaries.
So, instead of setting the ValueMax boundary to 0, we will make this parameter visible from the UI by DELETING the “Attributes” entry under the same key (54533251-82be-4824-96c1-47b60b740d00/0cc5b647-c1df-4637-891a-dec35c318583). The only attribute bit held in the entry is the one telling the UI it is a “hidden” parameter, and by deleting the entry, the parameter will appear as a new option in the “Advanced power management” window, prompting you the ACTUAL % of cores the system is able to park under the current Power Plan, both for AC and DC powering. The range of values you may input is the one defined by the ValueMin and ValueMax, so they must remain with the same values (0 and 64 in hexadecimal/100 decimal).
So, step by step:
1) Go to RegEdit (RegEdt32.exe, even in Win7 x64):
2) Find the key 0cc5b647-c1df-4637-891a-dec35c318583, there are several ones with the Attribute, ValueMin, ValueMax (and othr entries) which are the ones we’re interested in. Skip those having AC/DCSettingIndex (which holds the power plans configurations that we will change later from the UI).
3) Delete the Attribute entry.
3.5) ONLY IF YOU ALREADY MODIFIED THE REGISTRY AS SUGGESTED BY TomG: Set the ValueMax again to it original value: 00000064, this is REQUIRED for the current solution to work.
4) Repeat the step 2 as many times as needed to delete those Attribute entries.
DO NOT DELETE Attribute ENTRIES FROM OTHER KEYS!
5) Choose a Power Management Plan, or create a new one.
6) Go to the Advanced settings, you will see the “processor performance core parking min cores” parameter. You’ll see the default values of 10%. Change them to 0% for either AC, DC or both.
7) Change the Power Management Plan and see the effect on the fly.
From now on, if you want to change this setting you don’t need to edit the registry anymore 🙂
As for my notebook, I just added a new Power Plan “Music” based on the Max Performance one, then in the Advanced Window i’ve set the value for AC to 0.
Now, when I swith the plan to “Music” with the notebook plugged to the wall, core parking gets disabled, and it is enabled again should I unplug the notebook or if I switch to any other Power Plan.