CPU Parking is a feature of multi-core/SMP systems that disables cores when the system load is low. According to public documentation on the feature, unpark time is near instantaneous, but there *is* some overhead or additional system latency when cores are unparked. Additionally, parking CPUs can potentially reduce core thrashing - when a thread is swapped between cores unnecessarily, causing a performance hit. Disabling core parking for i7 processors can show a marked improvement in the CPU's threading performance. There is little performance improvement realized with i3 and i5 processors therefore this performance "tweak" is only recommended for Intel i7 processors.
Method 1 - Modifying the Power Profiles
CPU Core parking is a setting that is associated with a Windows Power Setting or profile, so the first step is to set your Power Setting to High Performance. Refer to the HelpDesk article How to set the Win7 Power Options to "High Performance" and do this step first.
You can use the Windows utility Powercfg.exe to unpark all of your CPU's cores.
You must run this utility with elevated rights, so be sure to open an elevated console (cmd) window by right-clicking 'cmd.exe' and selecting 'Run as Administrator'.
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.
Enter the command below to completely disable CPU parking:
powercfg -setacvalueindex scheme_current sub_processor bc5038f7-23e0-4960-96da-33abaf5935ec 100
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
You should not have to reboot for these changes to take effect. They are immediate!
WARNING: Use Method 2 only if you are comfortable modifying the Windows Registry. Mistakes mad in modifting the registry can result in an inoperable system. Use at your own risk.
Method 2 - Modifying the Registry
- Open 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.
Do a full shutdown and power-off and cold-re-start