ParkControl – Free App to Tweak CPU Core Parking in Real-Time

Because OS managed CPU core parking causes real performance deficiencies! Read More  … Note that this product REQUIRES Windows Vista or ABOVE. It will NOT work with Windows XP or Windows 2003.

NEW FEATURE: Bitsum Highest Performance. Create a power plan that auto-optimizes your hardware for max performance far beyond the system default ‘High Performance’ power plan.
NEWER FEATURE: Bitsum Dynamic Boost. Auto-switch power plans when your PC goes active or idle. Stay running in Bitsum Highest Performance Mode while using your PC.

I have Process Lasso Pro, do I need ParkControl Pro?

In summary, ParkControl offers:

  • A real-time system tray icon to show core parking
  • Easier access to these settings
  • An IdleSaver-type automation with Bitsum Highest Performance Plan
ParkControl Screenshot showing Windows 10 default Balanced power plan settings

ParkControl Screenshot showing Windows 10 default Balanced power plan settings

  • Get access to a new feature Bitsum Dynamic Boost‘ to dynamically change your power plan when your PC is active, and lower it when it goes idle.
  • Support of Bitsum’s Continued Independent Innovation!
  • BEFORE YOU BUY – If you see an error when attempting to apply settings, such as “ERROR: You do not have sufficient permissions”, this means your hardware, OS, or some other condition prohibits ParkControl from operating on your PC. Purchasing a license will NOT resolve this error!
 ADD TO CART
ParkControl Freeware

Install Now:

The install self-corrects, so don’t worry about picking the wrong bit size.

Bitsum developed ParkControl because core parking settings are hidden in Windows, but can make such a large difference on performance, particularly when there are bursting CPU bound loads (the most common type). After we noticed this, Intel later took action, moving the core parking control form the OS to the hardware, thus validating our findings!

Beta Branch

For the bold, you can install the beta branch. Note that it may be no newer than the release version, but you will get beta updates as they come.

Facebook Ad_Newer

Benchmarks

Benchmark results and images courtesy of XTremeHardware.

Core Parking

Core Parking is a sleep state (C6) supported by most newer x86 processors, and newer editions of Windows. Core Parking dynamically disables CPU cores in an effort to conserve power when idle. Disabled cores are re-enabled as the CPU load increases once again. This technology is very similar to frequency scaling, in that it seeks to throttle the CPU when idle.

The problem is that Window’s default power profiles are configured far too aggressively when it comes to core parking, especially on workstations. Their interest was in conserving energy, even if this meant marginally decreasing performance. A number of complex parameters control when a core should be parked, and Microsoft tuned heavily towards power savings.

The core parking settings in Windows are implemented as parameters of power plans (aka power profiles). That means you can, for example, disable core parking for the High Performance power plan, but leave it enabled for other plans. And that is exactly the desired tweak for most users: disable parking only for high performance power plans.

Efficacy

Empirical evidence shows that disabling core parking can make a real difference in system performance. There are many factors that will determine how efficacious it will be for any given system, including the CPU type, application load, and user behavior. However, we find that Windows is often over-aggressive in its core parking, resulting in excess latency as cores are unparked to accommodate bursting loads (the most common type of CPU load).

In our tests, we’ve found AMD processors benefit most from disabling core parking. This is perhaps due to the dramatic difference in the way AMD processors share (hardware) computational resources between logical cores. Microsoft optimized for Intel’s HyperThreading, which has much less capable secondary cores. AMD’s secondary logical cores are near full CPUs.

YMMV, but if we didn’t see real and substantial performance gains after disabling core parking, we wouldn’t have authored this utility.

Safety

These tweaks are entirely safe for any PC that is constructed properly. The only way that they could possibly seem to cause some change in behavior is if the PC has overheating issues. In such an event, those issues would be seen regardless of these tweaks by simply placing a sustained high load on the CPU.

Restore Defaults

  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 ParkControl

Simply run ParkControl, select the target power profile, change the setting, and click apply!

What is that NUMBER that is shown on the GUI? That is the % of cores that must remain *unparked*. So, if it’s 25%, then 75% of the CPU’s cores can be parked at once (3 of 4).

Changing Parking Settings Using PowerCfg.exe

Here at Bitsum, we won’t force you to use our software. We’ll tell you how to do it yourself, the *right* way, unlike many other web sites.

Getting to business, you can change these settings yourself 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’ (now in the ‘More’ submenu in the latest Windows 10 update).

Also note that these commands adjust the current power profile. I felt it simplest to use these variables as opposed to giving you GUIDs that may or may not apply to your PC’s power profile setup.

FIRST, Backup ALL your Power Settings by creating a dump of everything to a TXT file. You can later use this to revert to your default settings.

  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

Yes, you can use ‘0’ – Windows is not stupid enough to park all cores at once, it will always leave at least one core active. In fact, this is usually the default setting when it is enabled. For example, 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

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

When I first wrote this I included allowing specification of AC or DC (battery) values for the power scheme. Setting the DC power value isn’t documented, so I am going to skip that. Still, to do so you’d simply replace ‘-setacvalueindex’ with ‘-setdcvalueindex’. It also is not entirely clear if this is supported for every power scheme, though it certainly appears to be. Sadly, Microsoft’s documentation is quite scarce.

You should not have to reboot for these changes to take effect. They are immediate! Go ahead and check the Resource Monitor and verify that CPU Parking is indeed as you set it.

I hope this helps some people. Why would you go around making manual edits to the registry when powercfg can do the job for you? You shouldn’t. Registry edits are prone to mistakes and are generally more tedious and less clear.

How to Show Core Parking Options in the Advanced Power Options

Too bad this option is NOT shown by default in the Windows Power Options, eh? Well, it can be! You can make your Advanced Power Options in Windows show this value!

Download the .REG file here (you can use the freeware RegMerge to see what is inside before applying):

DOWNLOAD REG TWEAK TO UNHIDE CORE PARKING SETTINGS

Further Research

We’ve attempted to dig deeper into the core parking rabbit hole, and let me tell you there are countless additional hidden variables that control it’s behavior. It’s therefore not at all inconceivable that some are not tuned properly. In fact, Microsoft has issued Hotfixes in the past to address this very issue.

I’ll update my findings here as I’m able. If you want to support this project, buy a license for Process Lasso or donate.

Donate via PayPal or CC

OR by Bitcoin

<p>UPDATE Aug 7, 2016: We now know the GUIDs of the subsystems that control this new hardware-backed CPU core parking – This will be part of ParkControl and Gaming Mode in future updates of our software, so you don’t need to worry much with them. If modifying them (and remember, this only even applies if you have a brand new Skylake CPU and Win10), *please* use powercfg.exe as described on this page.

 

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.

Real-Time Control of CPU Core Parking and Frequency Scaling!

Bitsum is an original innovator behind this tweak. Granted, it’s not rocket science, but sometimes the obvious needs stated. Further, we provide full technical details and information on how to make these tweaks without our software. Unlike others, we don’t hide our technology in a ‘black box’. Your purchase helps support our ongoing innovation, and we thank you!

No reboots required! ParkControl makes it’s adjustments in real-time.

Need More?

Get Real-Time Windows Optimization

Process Lasso ProBalance Technology improves PC responsiveness, eliminating micro-lags and. Process Lasso includes the Bitsum Highest Performance Power Plan that disables CPU Core Parking and Frequency Scaling for maximum bursting performance.

ParkControl Revision History

  • v1.1.2.0 – Fix issue in prior build where if BHP was not installed, ParkControl as a whole would not run.
  • v1.1.1.0 – Fix issue where Bitsum Dynamic Boost would decide to start using HP instead of BHP.
  • v1.1.1.0 – Fix some localization issues in dialogs and throughout. Update German.
  • v1.1.1.0 – Update German and Russian
  • v1.1.1.0 – Improvements to main dialog. Addition of ‘Bitsum Dynamic Boost’ checkbox and localization fixes.
  • v1.1.0.0 – Added ‘Bitsum Dynamic Boost’ feature to keep PC running in Bitsum Highest Performance, then drop to Power Saver on Idle for X seconds. It is Pro-only feature. Some work remains, but this lays down the base functionality (see system tray menu).
  • v1.1.0.0 – Improve CPU utilization and core parking graphs/bars. These may now function for a few when they did not in the past.
  • v1.1.0.0 – Fix expanding power plan combo boxes
  • v1.0.3.2 – Fix issue with secondary dialog instances having frozen CPU utilization graphs.
  • v1.0.3.2 – Update languages.
  • v1.0.3.0 – Add capacity to install or remove the Bitsum Highest Performance power plan to the GUI. On uninstall, it is removed if it was created only if Process Lasso is not also present (which also uses BHP).
  • v1.0.3.0 – Change code that selects default browser to use when opening hyperlinks.
  • v1.0.3.0 – Language updates.
  • v1.0.2.4 – Let auto-update work for everyone, licensed or not
  • v1.0.2.2 – Fix crash seen on right-click of icon in some cases
  • v1.0.2.2 – Optimize update check
  • v1.0.2.2 – Put Task Scheduler check in asynchronous thread
  • v1.0.2.2 – Add minidump support
  • v1.0.1.8 – Change error message regarding inability to set core parking changes
  • v1.0.1.6 – Improve updater
  • v1.0.1.6 – Fix race condition that could result in two main window instances under very rare timing
  • v1.0.1.6 – Update several languages, add Spanish
  • v1.0.1.4 – Fix to SHA2 binary signatures
  • v1.0.1.2 – Fix issue with CryptoPrevent security policy blocking ParkControl automatic updates due to temp folder execution prevention (will be noticed as fixed *next* update)
  • v1.0.1.2 – Fix Start At Login toggle would not stay off
  • v1.0.1.2 – Switch to dual-signing
  • v1.0.1.1 – Fix license info not visible in last update
  • v1.0.1.1 – Switch to dual-signed binaries
  • v1.0.1.1 – Updates several languages
  • v1.0.1.0 – Allow users with < 30 days installed (trial period) perform automated updates
  • v1.0.1.0 – Allow officially obtained ‘Free Trial’ license keys to perform automated updates
  • v1.0.1.0 – Added menu toggle ‘Start at user login’ to new Settings sub-menu
  • v1.0.1.0 – Added menu toggle ‘Check for updates’ to new Settings sub-menu
  • v1.0.1.0 – Added Settings sub-menu to system tray context menu
  • v1.0.1.0 – Minor fix to some Task Scheduler facilitating code
  • v1.0.0.4 – Update languages.
  • v1.0.0.4 – Latest Bitsum code base.
  • v1.0.0.2 – Fix issue where tray popup menu would continue to show after being clicked away from.
  • v1.0.0.2 – Minor optimizations.
  • v1.0.0.0 – First final release.

FAQ

I have Process Lasso Pro, do I need ParkControl Pro?

I have Process Lasso Pro, do I need ParkControl Pro?

You do not *need* it, but you may prefer it. It adds to Process Lasso a system tray icon that dynamically changes as core parking does. It also has some automation that is similar, but not quite the same, as Process Lasso’s IdleSaver. Note that if both applications are installed, the menu item to manage core parking in Process Lasso will open the ParkControl app. Importantly, it can run without Process Lasso, which is it’s primary audience. Process Lasso Pro is the ‘big boy toy’ of this class.

In summary, ParkControl offers:

  • A real-time system tray icon to show core parking
  • Easier access to these settings
  • An IdleSaver-type automation with Bitsum Highest Performance Plan

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.

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 ‘Gaming 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.

Should I manually edit the registry instead?

No, that’d be ridiculous. 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.

I get an error when I try to change settings. Why?

Are you a ‘Limited’ user? Is this PC on a corporate network? Have you done any ‘damage’ by doing manual registry edits? Are you sure your hardware supports core parking? In short, there are lots of variables. I recommend trying some of the powercfg.exe commands we list on this page in an administrative command console.

The core parking settings don't change after I hit Apply ...

That means your CPU or BIOS/UEFI does not support CPU core parking, or it has otherwise been disabled. Now, do also remember that this setting is specific to each power plan, so don’t get those confused and think your changes weren’t saved.

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).

Process Lasso Pro

ProBalance In Action

Error: Please enter a valid email address

Error: Invalid email

Error: Please enter your first name

Error: Please enter your last name

Error: Please enter a username

Error: Please enter a password

Error: Please confirm your password

Error: Password and password confirmation do not match