ParkControl – Tweak CPU Core Parking and More

ParkControl is free software to display and tweak CPU core parking settings in real-time, among other features.

[64-bit] [32-bit]
now supports Power Modes!

Also try Process Lasso!

Tame unruly background processes
Set persistent CPU affinities and priorities
Automate power plans

ParkControl Screenshot

ParkControl Pro

  • Bitsum Dynamic Boost
    Automatically switch power plans when your PC enters and leaves the idle state
  • Power Plan change Notifications
    Notifications of when and what process changed your active power plan (image)
  • Support Bitsum’s Independent Innovation
    Your support enables us to create new tools, and maintain our existing ones!

Entire Home licenses allow installation on up to 5 PCs based in the same home. Lifetime licenses are one-time payments for all future updates.

Introduction to CPU Core Parking

CPU Parking is a low-power sleep state (C6) supported by most modern processors and operating systems. It dynamically disables CPU cores in an effort to conserve power when idle. Unfortunately, this power saving comes at a price: Latency when CPUs need unparked to execute code.

Initially, core parking was controlled entirely by the operating system. The aggressive core parking of Windows led to a great deal of inefficiency during bursting CPU loads. Intel moved core parking control onto the chip in the Skylake generation, and AMD followed, but still the parameters of the Windows power plans are set to aggressively park CPU cores. Even the default ‘High Performance’ power plan is not immune. The new ‘Ultra Performance’ power plan copies what Bitsum did with our own ‘Bitsum Highest Performance’ power plan and finally disables core parking entirely.

ParkControl (and Process Lasso) not only let one more easily configure CPU core parking and frequency scaling, but also allow for dynamic entrance into a higher performance power plan. For instance, with Process Lasso, you can automatically enter ‘Bitsum Highest Performance’ will you start a game, then go back to ‘Balanced’ when you exit.

ParkControl has Dynamic Boost to allow you to set active and idle power plans. Process Lasso has a similar feature with its IdleSaver.

Efficacy

Empirical evidence shows that disabling core parking can make a real difference in system performance. There are many factors that will determine precisely how effective it will be for a given situation. However, generally, Windows is too aggressive in its core parking, resulting in high latency during bursting CPU loads, stemming from the CPU cores needing to be unparked to handle the load. Since bursting CPU loads are the most common type for many workloads, core parking can be a substantial drag on system performance and responsiveness.

How to Restore Defaults

Any changes you make with ParkControl are easily reverted. To restore the default power plan settings:

  1. Click ‘Power Options’ in the ParkControl app
  2. Select the Power Profile you modified
  3. Click ‘Restore default settings for this plan’
  4. Repeat for all modified power plans

Changing Parking Settings Using PowerCfg.exe

You can also change these settings via Window’s Powercfg.exe. You must run this utility with elevated rights, so be sure to open an elevated console window by right-clicking ‘cmd.exe’ and selecting ‘Run as Administrator’.

Note that these commands adjust the currently active power profile. You can adjust specific ones by using their GUID, or switching to them prior to running these commands.

First, backup ALL your Power Settings by creating a dump of everything to a TXT file. It is unlikely you will ever need this, but…

powercfg /qh > powerconfig.txt

To mandate 50% of available cores always remain unparked, run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 50

To adjust it so that only 25% of available cores remain active at all times, allowing 75% of available cores to be parked, you’d run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 25

‘0’ <zero> indicates to park as many CPU cores as possible.

To enable maximum use of CPU Parking for the power profile you are currently using:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 0

To disable CPU Parking completely for the power profile you are currently using, you’d want to run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100

All the above configure core parking while the system is plugged into AC power. For DC (battery) power, core parking is usually forced, but to configure it you would instead use ‘-setdcvalueindex’.

APPLY New Settings, NOW!

After changing the power scheme settings for CPU Parking as desired, you then want to make the changes active by running the command:

powercfg -setactive scheme_current

With ParkControl, a reboot is NOT required for these changes to take effect – in contrast to direct registry edits or other core parking software.

After applying tweaks, check the Windows Resource Monitor (resmon.exe) and verify that CPU Parking is indeed as you intend,

How to Show Core Parking Options in Advanced Power Options

This gets tricky because not all settings apply to all models. There is, however, a general ON/OFF switch that DOES apply to all CPU models. Below we’ll present the most commonly used simple ON/OFF core parking switch, and how to show it in the Windows Advanced Power Options without any registry edits!

Windows Power Options

Execute the following commands to hide or un-hide the primary ON/OFF switch for core parking in the power plans.

Show Core Parking Settings:

powercfg -attributes SUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318583 -ATTRIB_HIDE

Hide Core Parking Settings:

powercfg -attributes SUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318583 +ATTRIB_HIDE

Core Parking and Intel Skylake and Above

Due to the inefficiencies of OS managed core parking, Intel took over core parking in Skylake and above. These thus have different core parking settings. The most important may simply be the ON/OFF switch of it’s Autonomous Mode, though there is also an aggressiveness %.

Autonomous Mode turns on/off the CPU’s ‘smart parking’, but does NOT turn off OS managed core parking. To do that, use ParkControl or the usual ways.

Unhide Skylake+ Core Parking Settings without direct registry edits (real-time, no reboot required!):

powercfg -attributes SUB_PROCESSOR 8baa4a8a-14c6-4451-8e8b-14bdbd197537 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 36687f9e-e3a5-4dbf-b1dc-15eb381c6863 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 4e4450b3-6179-4e91-b8f1-5bb9938f81a1 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR cfeda3d0-7697-4566-a922-a9086cd49dfa -ATTRIB_HIDE

Re-hide Skylake+ Core Parking Settings without direct registry edits (real-time, no reboot required!):

powercfg -attributes SUB_PROCESSOR 8baa4a8a-14c6-4451-8e8b-14bdbd197537 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 36687f9e-e3a5-4dbf-b1dc-15eb381c6863 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 4e4450b3-6179-4e91-b8f1-5bb9938f81a1 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR cfeda3d0-7697-4566-a922-a9086cd49dfa +ATTRIB_HIDE

Importantly, Skylake added an ‘Autonomous’ mode that you turn on or off to disable core parking. Within this is a percentage to adjust it’s aggressiveness.

Windows Power Profile CPU Options for Skylake
Windows Power Profile CPU Options for Skylake+

8baa4a8a-14c6-4451-8e8b-14bdbd197537 – Processor performance autonomous mode (Enable/Disable) Specify whether processors should autonomously determine their target performance state.

36687f9e-e3a5-4dbf-b1dc-15eb381c6863 – Processor energy performance preference policy (Percent) Specify how much processors should favor energy savings over performance when operating in autonomous mode.

cfeda3d0-7697-4566-a922-a9086cd49dfa – Processor autonomous activity window (Microseconds) Specify the time period over which to observe processor utilization when operating in autonomous mode.

4e4450b3-6179-4e91-b8f1-5bb9938f81a1 – Processor duty cycling Specify whether the processor may use duty cycling.

Click here for AnandTech’s excellent article on Skylake.

Click here for all pertinent power GUIDs at this time (Skylake and legacy)

There are also a few other sub-GUIDs that we have yet to fully research. To unhide them in the Advanced Power Options of Windows, use (remember, these may do nothing on your CPU model!):

Execute the following commands to hide or un-hide the primary ON/OFF switch for core parking in the OS:

Show Unresearched Advanced Options

powercfg -attributes SUB_PROCESSOR 06cadf0e-64ed-448a-8927-ce7bf90eb35d -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 40fbefc7-2e9d-4d25-a185-0cfd8574bac6 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 4b92d758-5a24-4851-a470-815d78aee119 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 7b224883-b3cc-4d79-819f-8374152cbe7c -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 943c8cb6-6f93-4227-ad87-e9a3feec08d1 -ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 619b7505-003b-4e82-b7a6-4dd29c300971 -ATTRIB_HIDE

Hide Unresearched Advanced Options

powercfg -attributes SUB_PROCESSOR 06cadf0e-64ed-448a-8927-ce7bf90eb35d +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 40fbefc7-2e9d-4d25-a185-0cfd8574bac6 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 4b92d758-5a24-4851-a470-815d78aee119 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 7b224883-b3cc-4d79-819f-8374152cbe7c +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 943c8cb6-6f93-4227-ad87-e9a3feec08d1 +ATTRIB_HIDE
powercfg -attributes SUB_PROCESSOR 619b7505-003b-4e82-b7a6-4dd29c300971 +ATTRIB_HIDE

FAQ

  • I have Process Lasso, do I need ParkControl?

    You do not need it, but you may choose to also have it installed.

    ParkControl offers these additional functions:

    • A real-time system tray icon showing CPU core parking status
    • Easy access to CPU core parking settings
    • Power profile change notifications
  • Is ParkControl Pro included in Process Lasso? Can I run them together?

    Yes, they can be run together just fine. They are designed to. Do you need ParkControl though? Well, you already have ‘Bitsum Highest Performance’ power plan, and it can be automated via ‘Performance Mode’ and other mechanisms. You further have a non-system-tray ParkControl listed in the Tools menu of Process Lasso. The stand-alone distribution of ParkControl is for those who do not want to pay for, or use, a full-blown Process Lasso installation. The only other benefit to ParkControl is a system tray icon that dynamically changes when cores park, and perhaps easier access to quick core parking tweaks.

  • What are these overlays? Where is the Bitsum Highest Performance power plan?

    The overlays are ‘Power Modes’ of Balanced. See this post.

    You can escape them and go back to traditional power plans by creating a new power plan in the Windows settings, then switching to it.

    However, it is recommended that you instead tweak your overlay(s) to act like Bitsum Highest Performance, disabling core parking and frequency scaling.

  • I want to use Dynamic Boost, but my PC keeps going to sleep. How do I fix this?

    When your PC goes Idle, Dynamic Boost switches to ‘Power Saver‘. If you do not want your PC to sleep, you need to change that setting for the Power Saver power plan. To do this, open ‘Power Options‘, find ‘Power Saver‘, and edit it. You can also switch to it, then change the sleep settings in their separate config area in Windows.

  • Will disabling CPU core parking and frequency scaling improve performance?

    CPU core parking and frequency scaling can have a dramatic impact on real-time performance of bursting loads like audio/video, gaming, VOIP, and more. That is a big reason we have made such a ‘fuss’ over them. It was nice to be ‘vindicated’ by Intel, who has moved core parking control to the hardware in new CPU generations because the OS’s management was so sub-optimal. As long as they retain the ability to disable core parking, and I’m sure they will, it should be a good change. Microsoft seemed to focus entirely on battery life in recent years, leaving performance to suffer, particularly for desktop users.

  • Should I manually edit the registry instead?

    No, direct registry edits are not advisable. ParkControl makes these changes the correct way. The storage of the settings is backed in the registry, but why would you go hacking around in there when you can make these changes the right way and not risk damage? ParkControl’s changes to the system power plans are persistent, they don’t go away.

  • When I click Apply, I receive 'Error: The core parking settings could not be applied.' How do I fix this?

    Check for any other energy (or ‘power’) related apps, and, if found, change them to something other than ‘Balanced’.

    In other cases, you may need to escape the Balanced power mode. Go to the Windows Power Options and select ‘Create a new power plan’ to finish creation of a new power plan. Afterwards, restart ParkControl and it may now have the capability to modify the settings.

  • My CPU cores won’t park! What is wrong?

    First, if you never saw your CPU cores park, then it may be that your system just doesn’t support core parking. If you have seen your cores park in the past, but aren’t seeing parking activity, double check with the Task Manager or Resource Monitor (resmon.exe) to make sure it is not just a display error in the ParkControl GUI.

  • Do ParkControl's changes persist?

    ParkControl changes settings of the Windows power plans based on your selections. These changes persist even if ParkControl is not running or uninstalled. For system defined power plans, you can reset to defaults in the Windows Power Options (linked to from the ParkControl GUI).

  • I can't activate ParkControl Pro. What is the issue?

    First, ensure that you are using the right activation code. You can use any name. Do not confuse the ‘purchase key’ on the invoice with the activation code. They are the same format.

    Otherwise, failure could be caused by a temporary network problem, or prior use of a pirated copy of our software that modified your system HOSTS file, preventing resolution of our servers.

    Try installing Process Lasso from https://bitsum.com/. It will alert you if the HOSTS file was modified. If you don’t see a warning, then it wasn’t the cause. You can later uninstall Process Lasso.

    Guidance also here: https://bitsum.com/activation-help/

    If it continues to fail, contact us and we’ll refund your purchase.

  • Where can I view the End User License Agreement (EULA)?
  • Need More? Get Process Lasso!

    Real-Time CPU Optimization and Automation

    Process Lasso’s ProBalance technology helps maintain system responsiveness in the face of high loads. Background processes are kept in check and lags are reduced.

    ParkControl Revision History

    v3.0.0.38 – Nov 10, 2022

    • Support for Balanced Power Modes (overlays)
    • Refactor Dynamic Boost feature
    • Assortment of other enhancements
    (3) Add support for Balanced Power Modes (overlays)
    (11) Refactored Dynamic Boost internals
    (13) Enhance update package integrity check
    (13) Show CPU Utility % instead of Time % on core utilization graphs, when available
    (17) Add support for topologies where a NUMA node contains more than 64 logical cores, spanning multiple groups (e.g. 3995wx on Win10 21H1+)
    (17) Add Dynamic Boost option to disable when device is in Battery Saver mode, defaults ON
    (17) Add Dynamic Boost option to disable when device on battery power (DC), defaults OFF
    (17) In free edition, allow Dynamic Boost config to be opened, but not enabled
    (25) Add app menu to main window
    (27) During uninstall on overlay systems, change to 'Better Battery' (mid) overlay
    (31) Add power line (AC/DC) and Battery Saver status
    (33) Cosmetic work
    (33) Allow defaults to be restored for power overlays
    (33) Limit unhide of core parking options specifically to that setting
    (33) On Win10 also unhide class 1 parking settings when unhide option checked (not applicable to Win11)
    (33) Hide install BHP syslink control on power mode systems
    (33) Add description to Dynamic Boost config dialog