# Core Parking in Windows (Disable for more performance)



## OCmember

Here is an MS document if you want to REALLY get deep into core parking

https://msdn.microsoft.com/en-us/library/windows/hardware/dn613985%28v=vs.85%29.aspx

i know i downloaded all that in a .docx file somewhere, its much easier to reference to when making adjustments


----------



## TheMafia

nice thanks!


----------



## TheMafia

requesting sticky, or something of that nature, super useful to disable this if you like to get everything out of your hardware and dont care about energy consumption


----------



## .:hybrid:.

Quote:


> Originally Posted by *OCmember*
> 
> Here is an MS document if you want to REALLY get deep into core parking
> 
> https://msdn.microsoft.com/en-us/library/windows/hardware/dn613985%28v=vs.85%29.aspx
> 
> i know i downloaded all that in a .docx file somewhere, its much easier to reference to when making adjustments


This is a great link

Rather then setting minimum cores to 100% and losing all power savings, couldn't you just lower the percentage for unparking, and set Processor Performance Core UnParking Increase Policy to 'Rocket', so all cores become immediately available. Seems like a better solution.


----------



## OCmember

Quote:


> Originally Posted by *.:hybrid:.*
> 
> This is a great link
> 
> Rather then setting minimum cores to 100% and losing all power savings, couldn't you just lower the percentage for unparking, and set Processor Performance Core UnParking Increase Policy to 'Rocket', so all cores become immediately available. Seems like a better solution.


I wonder. Have you tried that? Not by my PC so I'll have to try that sometime later..


----------



## TheMafia

Quote:


> Originally Posted by *.:hybrid:.*
> 
> This is a great link
> 
> Rather then setting minimum cores to 100% and losing all power savings, couldn't you just lower the percentage for unparking, and set Processor Performance Core UnParking Increase Policy to 'Rocket', so all cores become immediately available. Seems like a better solution.


I could care less about power savings man, i paid a LOT of money for my system, and i put a LOT of work into overclocking it and making it beast, no way in hell im going to let windows reduce ANY of my performance man.


----------



## pteadsgo

well,no way in hell im going to let windows reduce ANY of my performance man.thanks


----------



## fs123

This makes it easier to unpark all the cores
http://coderbag.com/Programming-C/CPU-core-parking-manager


----------



## bitsum

Hi all, since ParkControl was the OP here (excerpts and a link), I was given authorization to post here.

As the OP mentioned, quoting from our page, disabling core parking can have a benefit on performance. This is because the ramp-up time is non-negligible, or Windows is too aggressive, whichever perspective you choose to prefer. In fact, that's why Intel went with on-chip managed core parking with Kaby Lake.

Indeed, I found this change by Intel rather vindicating.

Since this post I've updated ParkControl many times to add new features, such as:

1. Notifications when the active power plan changes by ANY process. It will report who changed the power plan, to and from what. (Pro)
2. Bitsum Highest Performance power plan for a one-click optimization to disable all core parking (and frequency scaling). I don't think it gets easier than that. (Pro)
3. Ability to auto switch out-of or into Bitsum Highest Performance based on user activity with Dynamic Boost. (Pro)
4. Ability to unhide applicable CPU subsystem settings in Power Options (free).
5. Ability to adjust all core parking settings for any power plan (free).
6. Real-time view of core parking activity with dynamic system tray icon. (free)

While a Pro edition is offered, you are not nagged or otherwise coerced into buying it.

The prior utility mentioned is also popular, but does direct registry edits (last I checked). I know they continue to refine it too though, so maybe this is changing. I wish them the best, but have to mention that one deficiency because...

I included full information on how to make these changes without resorting to registry edits. Why? Direct edits bypass important system notifications of changes to the power plans, thus often may require a reboot. Doing it the 'right way' is both instant and no reboots required.

As referenced:
https://bitsum.com/parkcontrol/

Latest screenshort:

o bring this thread 'current'.


----------



## TheMafia

cancel what i said here, my mistake, bitsum is the creator of the app and site i quoted


----------



## NeoReaper

Doesn't setting windows 10 to high performance disable core parking anyways? I know it didn't on 7 but I haven't seen a core park itself while on W10.


----------



## bitsum

z
Quote:


> Originally Posted by *TheMafia*
> 
> ParkControl was not the OP here... i was. ??? this is full of taint now lol


Why don't you look at the first post again, and I will too. You are directly quoting from my site, with a link to ParkControl. Which apparently you have little appreciation for (though this data doesn't just get there by accident ;p).

EDIT: My review --

1. Excerpt from my site.
2. REG file linked to from my site.
3. Source mentioned as my site.

By 'my site' I mean the specific ParkControl page.


----------



## bitsum

Quote:


> Originally Posted by *NeoReaper*
> 
> Doesn't setting windows 10 to high performance disable core parking anyways? I know it didn't on 7 but I haven't seen a core park itself while on W10.


No, it does NOT, though it does depend on how have your power plan configured of course. But they still try to be GREEN in even the default Windows High Performance power plan, allowing both core parking and CPU frequency scaling.

Now, some OEMs of ultrabooks are locking down the power plans, and that is a different manner. However, usually those, for better or worse, allow core parking, though are for newer processors where it is at least now more efficient, after they moved them to on-chip management.

Going forward, it should hopefully be less of an issue, but the original implementation (OS managed) *was* very problematic to performance.

As a last note, I would like to say, I am not here to sell you ParkControl. It is a free project in that you can freely use it to adjust your core parking settings, or unhide them. It doesn't nag you with timed nags, and I don't expect people to buy it.

FURTHER, as I have said, if you scroll down the ParkControl page you will see all the information necessary to do this w/o registry hacks and entirely freely. I just want people to stop with the registry hacks, as that is so absurd... I mean, any site recommending a 'search and replace' of the GUID value, then reboot, is just ... so off, and lazy I suppose, since I publish how to do it right using powercfg.exe !

Ref: https://bitsum.com/product-update/intels-speed-shift-validates-parkcontrol-and-process-lasso/
Ref2: https://bitsum.com/parkcontrol (scroll down for free info!)

p.s. The previously mentioned REG file by the OP has now been updated to include MANY MORE core parking parameters, though it's also been moved in-product, freely (no Pro).


----------



## bitsum

Quote:


> Originally Posted by *TheMafia*
> 
> Not sure where i should have posted this, but it does directly effect your CPU utilization. Just wanted everyone to know, as i purchased the CPU i have and do not like the fact that any software or hardware might be limiting what i can pull from it, im sure im not alone in this fact.
> 
> In efforts to make ARMA run faster (wicked bad engine, no optimization) I found a guide that enlightened me to windows' core parking, described below.
> 
> The effects of disabling it are immediate. all cores are active at all times, task splitting between cores is better. performance increase is noticeable. So, now if windows decides to switch jobs between cores, it wont be switched to a core thats 'parked' (lower power consumption lower performance). You should see a difference in your CPU graphs right away.
> 
> *About core parking:*
> *Changing the setting*
> 
> *1. Get the REG file*
> 
> REG File to enable view of core parking settings in advanced power options in windows (safe, i tested it)
> *2. Find the setting and change it to 100%*
> 
> Start -> Control Panel -> Power Options -> 'Change Plan settings' -> 'Change advanced power settings' -> Processor Power Management -> Processor performance core parking mine cores -> Set 'Setting' to 100%
> 
> Sets the *minimum number of unparked cores*, all of them should be unparked, thus 100%
> 
> Source: https://bitsum.com/parkcontrol/


In case it is edited, I figured I'd preserve the OP. If literally copying my content and linking to my site doesn't entitle me to post, then that's fine. I will abide by any rules, but it's a bit odd. Why the hate? I was one of the first out there educating consumers about this, which is why you took excerpts and info from my site. I don't force you to buy any software, which is why I publish how to do it yourself freely, and further the Pro features are *entirely* optional.

So, not *about* ParkControl? Well, about core parking and my page about it, which is the ParkControl page, at least.

Anyway, try to keep the hate down, please. I am not a snake-oil con man. Go try the ProBalance demo, not to mention our automation (now speaking outside ParkControl). I have devoted my life to giving as-free-as-I-can software to users, along with educational material. It has been no easy job or role.


----------



## TheMafia

Quote:


> Originally Posted by *bitsum*
> 
> In case it is edited, I figured I'd preserve the OP. If literally copying my content and linking to my site doesn't entitle me to post, then that's fine. I will abide by any rules, but it's a bit odd. Why the hate? I was one of the first out there educating consumers about this, which is why you took excerpts and info from my site. I don't force you to buy any software, which is why I publish how to do it yourself freely, and further the Pro features are *entirely* optional.
> 
> So, not *about* ParkControl? Well, about core parking and my page about it, which is the ParkControl page, at least.
> 
> Anyway, try to keep the hate down, please. I am not a snake-oil con man. Go try the ProBalance demo, not to mention our automation (now speaking outside ParkControl). I have devoted my life to giving as-free-as-I-can software to users, along with educational material. It has been no easy job or role.


Ya my bad on that one, i didnt see the connection.

On another note i noticed you guys made quite a few changes to that page, check it out everyone:

https://bitsum.com/parkcontrol/
Quote:


> Hide Core Parking Settings without direct registry edits (real-time, no reboot required!):
> 
> powercfg -attributes SUB_PROCESSOR cc5b647-c1df-4637-891a-dec35c318583 -ATTRIB_HIDE
> 
> Re-hide Core Parking Settings without direct registry edits (real-time, no reboot required!):
> 
> powercfg -attributes SUB_PROCESSOR cc5b647-c1df-4637-891a-dec35c318583 +ATTRIB_HIDE


Unfortunately when i pasted the above line into my laptop, it said "Invalid parameters -- try /? for help"

I came back here to use the registry, @BitSum, thoughts? Also a bit confusing "hide" and "re-hide" on that page.


----------



## 8051

Couldn't you just disable C6 sleep states in the BIOS for the same effect?


----------



## Jubileu

I found this video on YouTube and looks like it is the easiest way to disable Core Parking:


----------



## stephenn82

I grabbed core parking utility to open up all cores for better Battlefield 1 performance. Not doing anyhting, but unlocking all cores, my 6700k idled at 3.8 and ramped to my overclocked 4.6 on the balanced plan. Switching to High Perf kept it at the 4.6 all the time. I noticed that there wasnt much of a difference between, and keep my power plan setting to Balanced but with cores unparked. Its awesome!


----------



## TheMafia

Quote:


> Originally Posted by *Jubileu*
> 
> I found this video on YouTube and looks like it is the easiest way to disable Core Parking:


is this just for win 10?


----------



## TheMafia

Quote:


> Originally Posted by *stephenn82*
> 
> I grabbed core parking utility to open up all cores for better Battlefield 1 performance. Not doing anyhting, but unlocking all cores, my 6700k idled at 3.8 and ramped to my overclocked 4.6 on the balanced plan. Switching to High Perf kept it at the 4.6 all the time. I noticed that there wasnt much of a difference between, and keep my power plan setting to Balanced but with cores unparked. Its awesome!


constant performance isnt the goal here, i believe what i was and others are chasing here is the spikes, spikes occur when the cpu has to boot up a parked core


----------



## AyeYo

So if this is hardware managed on Kaby, are there no gains to be had here for people with Kaby chips?


----------



## ucode

Is core parking still a thing?

I remember back in the Vista days and early W7 it created problems but never see it these days and I run balanced mode under Windows. Never once saw it saving power, the only good point later on seemed to be the desktop processors would park one thread on each core of a HTT enabled CPU. BTW for C-State CC6 to work both threads of the core need to be at CC6.

Made some observations here and also made a small program that would toggle core parking on and off realtime using minimum cores set to 100% or 10%. Unfortunately the pic on that thread was hosted under imageshack and after their policy changes isn't shown but I do have a copy still.



You can see the button for enabling / disabling core parking at top center. There were some real issues with using manual affinity and parking but over the years I've not seen core parking at all.


----------



## Protopia

*Core Parking in Windows - some ideas*

It seems to me that finding settings that minimise your battery usage - and with different levels of lag resulting from delays in reacting to increased workload - is not going to be easy.

Settings to tweak include both CPU Frequency and Core Parking, and for each of these a whole bunch of choices about how you scale processing capacity up and down.

I would also assume that you would want to avoid the processor getting hot because either you would need to run the fan which would far outweigh power savings in the processor, or slow the frequency. And the points at which the fan kicks in are likely to be different to some extent in each laptop - and I think they may be controlled by BIOS rather than Windows which means it might be difficult to have a single optimised algorithm.

And to determine the best set of controls we would need details micro-measurements of processor power consumption - so for e.g. running one thread for 1m cycles is it better from a power perspective to run at fastest frequency for shortest time, or at the lowest frequency that keeps overall CPU utilisation below the point that the heat generated needs the fan to run.

You can also influence the number of threads running using the Windows 10 Battery Saver (which "limits background activity"), and you can improve responsiveness when you have scaled back processor power by using a tool (like System Explorer) to lower the process prioriy for background tasks. 

Taking all this into account, it seems to me that there are two algorithms for core parking which might be optimal:

* Aggressive - Keep the minimum number of cores unparked needed to run the current workload at a CPU level which does not create temperatures that trigger fan usage.

* Active threads + 1 - always keep one more core unparked than there are threads executing so that if a new thread becomes schedulable, there is a core ready to run it. This would avoid the lag resulting from the delay whilst it unparks a core. 

If you combine this with the above, then you could base this only on threads with Priority >= Normal - allowing threads with lower priority to run on the extra unparked core without impact. However I m not sure that Windows existing processor management includes this functionality.

It seems to me that it might be possible for someone to write a tool that would read the BIOS fan tables (assuming that they are in a limited number of formats) and perhaps run a calibration test, and then set optimal power settings accordingly.

A third approach is:

* User not present - when the user is not present (screen backlight is off, no keyboard / mouse input for a while), the responsiveness of the system is less important - and a different set of frequency / parking controls could be utilisedto reduce power consumption. Obviously the big power savings for user not present are the existing sleep / hibernation settings, but they are typically measured in tens of minutes, whereas this User not present processor control could function on (say) a ten second basis. 

Again, a tool could monitor user presence and change processor settings based on user being present or not.

What do other people think of these ideas?


----------



## Blameless

Consumer versions of Windows (at least with regard to Windows 7 vs. Server 2008 R2...I'm less familiar with how it works in Windows 10) don't actually park cores, but they do use the core parking algorithms to manipulate how Windows schedules threads to logical CPUs. In my experience, it's pretty poor at this, from a performance standpoint. The example two posts back with LinX is a rather extreme one, but it illustrates how Windows can inappropriately assign threads when core parking is enabled.

Disabling core parking lets threads spread out across logical processors more, which tends to keep some from sleeping as often, so can be an issue where idle or low-load power consumption is a concern, but as this rarely applies to desktops, I almost always disable it on desktops.



Protopia said:


> It seems to me that finding settings that minimise your battery usage - and with different levels of lag resulting from delays in reacting to increased workload - is not going to be easy.
> 
> Settings to tweak include both CPU Frequency and Core Parking, and for each of these a whole bunch of choices about how you scale processing capacity up and down.
> 
> I would also assume that you would want to avoid the processor getting hot because either you would need to run the fan which would far outweigh power savings in the processor, or slow the frequency. And the points at which the fan kicks in are likely to be different to some extent in each laptop - and I think they may be controlled by BIOS rather than Windows which means it might be difficult to have a single optimised algorithm.


I think this is the crux of it. Workloads are so disparate and processors so variable that the optimal solution would need to be tuned on a per system basis.


----------



## Protopia

I agree that when on mains (whether a laptop or desktop) managing processor power consumption is not that important. But when on battery it can make a significant difference to battery life. When I have had laptops whose drivers were not optimal (and of course using mobile phones) so I know that component power management can have a huge impact on battery life.

So - my question is still I think a good one:

a. Are my ideas about frequency and parking good ones?

b. Is there a utility that can deliver against them?


----------



## Neoony

Protopia said:


> Spoiler
> 
> 
> 
> It seems to me that finding settings that minimise your battery usage - and with different levels of lag resulting from delays in reacting to increased workload - is not going to be easy.
> 
> Settings to tweak include both CPU Frequency and Core Parking, and for each of these a whole bunch of choices about how you scale processing capacity up and down.
> 
> I would also assume that you would want to avoid the processor getting hot because either you would need to run the fan which would far outweigh power savings in the processor, or slow the frequency. And the points at which the fan kicks in are likely to be different to some extent in each laptop - and I think they may be controlled by BIOS rather than Windows which means it might be difficult to have a single optimised algorithm.
> 
> And to determine the best set of controls we would need details micro-measurements of processor power consumption - so for e.g. running one thread for 1m cycles is it better from a power perspective to run at fastest frequency for shortest time, or at the lowest frequency that keeps overall CPU utilisation below the point that the heat generated needs the fan to run.
> 
> You can also influence the number of threads running using the Windows 10 Battery Saver (which "limits background activity"), and you can improve responsiveness when you have scaled back processor power by using a tool (like System Explorer) to lower the process prioriy for background tasks.
> 
> Taking all this into account, it seems to me that there are two algorithms for core parking which might be optimal:
> 
> * Aggressive - Keep the minimum number of cores unparked needed to run the current workload at a CPU level which does not create temperatures that trigger fan usage.
> 
> * Active threads + 1 - always keep one more core unparked than there are threads executing so that if a new thread becomes schedulable, there is a core ready to run it. This would avoid the lag resulting from the delay whilst it unparks a core.
> 
> If you combine this with the above, then you could base this only on threads with Priority >= Normal - allowing threads with lower priority to run on the extra unparked core without impact. However I m not sure that Windows existing processor management includes this functionality.
> 
> It seems to me that it might be possible for someone to write a tool that would read the BIOS fan tables (assuming that they are in a limited number of formats) and perhaps run a calibration test, and then set optimal power settings accordingly.
> 
> A third approach is:
> 
> * User not present - when the user is not present (screen backlight is off, no keyboard / mouse input for a while), the responsiveness of the system is less important - and a different set of frequency / parking controls could be utilisedto reduce power consumption. Obviously the big power savings for user not present are the existing sleep / hibernation settings, but they are typically measured in tens of minutes, whereas this User not present processor control could function on (say) a ten second basis.
> 
> Again, a tool could monitor user presence and change processor settings based on user being present or not.
> 
> What do other people think of these ideas?


What I use is Process lasso ( https://bitsum.com/ )

There, you can set it to change the power plan after X idle minutes.
So what I did was, that I made a duplicate of the Ryzen Balanced power plan and enabled parking in it, and I made it switch to that profile when its idle.

It was kinda only experiment and I dont actually have any measurable results...not sure if parking is actually any good for ryzen, especially as its disabled by AMD in their recommended Ryzen Balanced power plan.
( but, I didnt put much effort into this experiment  )

You could definitely tweak things in similar matters like you mentioned (but yeah, mostly manually) with Process Lasso and along with tweaking the hidden windows power options.

(Process Lasso also has a parkcontrol tool which might be useful: https://bitsum.com/parkcontrol/
But generally Process Lasso is an awesome tool for any kind process/CPU management and has tons of other useful features)

Hidden windows power options: (direct link to the full-sized picture: https://i.imgur.com/WEbxZhd.png )








You can unhide them with this tool:

Link for download: http://www.mediafire.com/file/wt37sbsejk7iepm/PowerSettingsExplorer.zip
From thread: https://forums.guru3d.com/threads/windows-power-plan-settings-explorer-utility.416058

Or with windows powershell commands, where you can also make duplicates...or with registry tweaks.

Powershell commands: https://docs.microsoft.com/en-us/wi...ice-experiences/powercfg-command-line-options


----------

