Why does Windows 10 have CPU core parking disabled?

Why does Windows 10 come with core parking disabled?

It seems to me, that core parking is good in most cases. Especially considering Turbo Boost does not work until some cores are parked.

Also why is the registry setting so well-hidden?

One has to unhide and set the Attribute to 0 in:



When and Why Did Windows 10 Disable Core Parking?

Microsoft disabled core parking in default windows 10 power plans in 2017.

One website states:

“If you disable core parking on your CPUs,
your computer may have faster benchmarks. (Reported higher frame rates
by gamers and power users).”

While Microsoft has chosen to give more power to performance of hardware, it has left the option of custom power plans up to vendors, server administrations and super users.

“Core Parking is most effective on systems that have processor idle
states with extremely low power consumption.” (source)

Also Microsoft notes to server administrators:

When the core parking algorithm is picking cores to unpark (assuming
an increase in workload intensity occurs), it may not always pick the
cores within the active affinitized subset (or subsets) to unpark, and
thus may end up unparking cores that won’t actually be utilized.

While many users argue over the benefits of core-parking, Microsoft have chosen to leave the choice of core-parking up to vendors, as they can create there own power plans and shipping with products. With things like Turbo Boost Index and Frequency Scaling Index, a processor is usually able to be controlled more responsively with core parking disabled.

Here is a good example of a vendor, AMD, with there Razon product in 2017 creating custom powers for optimum use of there processor.

Core Parking Benchmark Example

And here is an example of benchmarking testing of power plans on a NUC, Windows 10 Pro, Intel Core i5-8259U that it used for mainly for office work:
Pictures are of the processor rating, link is to full pc benchmark test of powerplan.

High performance power plan (Processor rating)
High performance power plan
Benchmark Link

High performance power plan, with 50% minimum core parking turned on
High performance power plan with core parking
Benchmark Link

Balanced power plan (Processor rating)
Balanced power plan
Benchmark Link

Balanced power plan, with 50% minimum core parking turned on
Balanced power plan - core parking
Benchmark Link

Does Windows 10 Come with Core Parking Disabled?

  • Windows 10 uses power plans to set the Processor Performance which
    will result in cores being parked or not depending on configuration of power scheme settings.

Note the below information assumes static core parking options not heterogeneous architecture. Please see further reading links for more info.

Why is Core Parking Registry Setting Hidden?

  • Microsoft use the command powercfg to control these settings. Please see answer here for a more information.
  • To unhide the said option open elevated cmd and run:

  • Done. No need to edit the registry.

What is a Power Scheme?

A power scheme is a collection of settings that controls the power
usage of your computer. You can use power schemes to reduce the power
consumption of individual devices or the entire system.

Microsoft Static Configuration Options for Core Parking

You can use the static configuration options documented in this section to tune the behavior of the core parking engine.

  • CPMinCores specifies the minimum percentage of logical processors (in
    terms of all logical processors that are enabled on the system within
    each NUMA node) that can be placed in the un-parked state at any given

  • CPMaxCores specifies the maximum percentage of logical processors (in
    terms of logical processors within each NUMA node) that can be in the
    un-parked state at any given time.

  • CPIncreaseTime specifies the minimum amount of time that must elapse
    before additional logical processors can be transitioned from the
    parked state to the unparked state. The time is specified in units of
    the number of processor performance time check intervals.

  • CPDecreaseTime specifies the minimum amount of time that must elapse
    before additional logical processors can be transitioned from the
    unparked state to the parked state. The time is specified in units of
    the number of processor performance time check intervals.

  • CPConcurrency specifies the threshold for determining concurrency of
    the node.

  • CPDistribution specifies the utilization, in percentage, to use in the
    concurrency distribution to select the number of logical processors to
    distribute utility to.

  • CPHeadroom specifies the value of utilization that would cause the
    core parking engine to unpark an additional logical processor if the
    least utilized processor out of the unparked set of processors had
    more utilization. This enables increases in concurrency to be

  • CPLatencyHintUnpark specifies the minimum number of unparked cores
    when a system low latency hint is detected.

Source: Microsoft – Static Core Parking Options

Power Profiles

  • You can use the Windows Provisioning framework to configure the
    processor power settings described in this section.

  • The processor namespace is divided into three sets of identical power
    processor configurations called power profiles. The power profiles are
    used by the power processor engine to adapt the performance and
    parking algorithm on various system use cases.

Windows 10 supports the following profiles:

  • Default profile is the configuration set that is active most of the time.
  • LowLatency is the profile that is activated during boot and during app launch time.
  • LowPower is the profile that is activated during the buffering phase of media playback scenarios.
  • Constrained is a profile activated by the battery saver feature on Windows 10 for desktop editions (Home, Pro, Enterprise, and

All Processor Power Management Settings

Each profile supports the following configuration settings:


Microsoft: Source One and Source Two

Also see legacy commands PERFBOOSTMODE, PERFBOOSTPOL.

PowerCfg CommandLine and Windows 10 Power GUI

Retrieve the currently active power scheme, open elevated command prompt and type:

    powercfg -getactivescheme

List GUID and names og power schemes (star shows selected scheme also):

    powercfg /list 

Query Plan

    powercfg -query GUIDhere

Also to see aliases only and help (see here for more info)

    powercfg.exe -aliases

    powercfg -help

Example: Set CPU Cores to Minimum 50% on AC & CPU to 10% on Battery DC

powercfg /setACvalueindex scheme_current SUB_PROCESSOR CPMINCORES 50
powercfg /setDCvalueindex scheme_current SUB_PROCESSOR CPMINCORES 10
powercfg /setACvalueindex scheme_current SUB_PROCESSOR CPMINCORES1 50
powercfg /setDCvalueindex scheme_current SUB_PROCESSOR CPMINCORES1 10

Example of PowerCfg Hacking and Source Two

What is Core Parking and How Should You Adjust It?

  • Please see the above links and information for all available settings.

  • In brief, core parking allows your processors to go into a sleep
    mode. The main purposes of core parking is to allow the
    computer/laptop/device to only use the processors when required, thus
    saving on energy.

Microsoft, first in Windows Server 2008 R2, started using core parking via the processor power management (PPM) engine and the scheduler to set the numbers of cores dynamically depending on power plan settings and tasks scheduled to be carried out.

A minimum number of cores for the threads that will be scheduled as chosen by the PPM engine. Usually cores are parked that do not have any threads scheduled, and they go into a very low power states when they are not processing interrupts, DPCs, or other strictly affinitized work. Thus the remaining cores are responsible for the remainder of the workload. Core parking can potentially increase energy efficiency during lower usage, which is why it is generally set up on Windows power plans.

To turn off core parking, set the Processor Performance Core Parking Minimum Cores parameter to 100 percent by using the following commands:

Powercfg -setacvalueindex scheme_current sub_processor CPMINCORES 100
Powercfg -setactive scheme_current

To reduce the number of schedulable cores to 50 percent of the maximum count, set the Processor Performance Core Parking Maximum Cores parameter to 50 as follows:

Powercfg -setacvalueindex scheme_current sub_processor CPMAXCORES 50
Powercfg -setactive scheme_current

Example of a Processor’s States

C0 - Active mode, processor executing code.
C1 - AutoHALT processor IA core state (Pacakage C0 state).
C1E - AutoHALT processor IA core state with lowest freqency and voltage operating point (Pacakage C0 state).
C2 - All processor IA cores in C3 or deeper. Memory path open. Temporary state before Package C3 or deeper.
C3 - Processor IA execution cores in C3 or deeper, flush their L1 instruction cache, L1 data cache, and L2 cache to the LLC shared cache. LLC may be flushed. Clocks are shut off to each core.
C6 - Processor IA execution cores in this state save their architectural state before removing core voltage. BCLK is off.
C7 - Processor IA execution cores in this state behave similarly to the C6 state. If all execution cores request C7, LLC ways may be flushed until it is cleared. If the entire LLC is flushed, voltage will be removed from the LLC. 
C8 - C7 plus LLC should be flushed.

Lower Section Based On:

Free Programs:

Further Reading:

Source : Link , Question Author : LOST , Answer Author :
16 revs

Leave a Comment