Core Parking


For some time now, my main box got a bit slow and was glitching all the time. After some investigation I found that some power profile imposed by our I T department enabled CPU parking on my machine. This effectively parks CPU on low load condition to save power. However,

  1. This effects high load conditions as well. There is a perceptible delay between the load hitting the computer and the CPU’s being unparked. Also some CPU’s remain parked for spike loads (large but smaller duration usage spikes)
  2. This is a desktop and not a laptop and hence I really do not care about power consumption that much

Windows Task Manager (Ctrl + Shift + Esc and then Performance tab) clearly shows this parking feature. 3 parked cores show flatlines


You can also find out if your machine is behaving the same from Task Manager -> Performance Tab -> Resource Monitor -> CPU Tab. The CPU graphs on the right will show which cores if any are parked.


To disable this you need to

  1. Find all occurrences of 0cc5b647-c1df-4637-891a-dec35c318583 in the Windows registry (there will be multiple of those)
  2. For all these occurrences set the ValueMin and ValueMax keys to 0
  3. Reboot

For detailed steps see the video

Everything is back to normal once this is taken care off Smile


Comments (6)

  1. codekaizen says:

    Glad to see you posting again – I always enjoy your low-level details. Won't setting the registry key this way be overwritten by Domain Group Policy the next time it is applied?

  2. Mark Sowul says:

    Have you actually measured the performance impact of this?  I'm guessing that mucking around with this is actually worse, because by forcing cores to stay on unnecessarily, you're giving the processor less opportunity to employ Turbo Mode.  

    In other words, if you have a 4-core processor that is running a single-threaded workload, there's no point in running all four cores at full speed because only two are really being used at a time.  The processor can actually boost itself over 100% in such situations, but it depends on current power consumption, thermal margin, etc.…/turbo-boost-technology.html

  3. abhinaba1 says:

    Did you see my CPU usage graph at the end. The workloads I typically use, use all cores.

    There is no single threaded workload. At any time I have a bunch of apps running and having more cores running helps share the load.

  4. Mark Sowul says:

    Just because things are shuffling more doesn't mean your workload is multithreaded.  It's not helping to share the load if the processors aren't all busy; it doesn't help much to go from two cores to four cores if those two cores were only 50% busy: okay, now you have four cores that are 25% busy, which is still plenty idle.  And if those two cores are faster than the four cores, then in fact things are slower.  

  5. Looking at your workload they all could have run on one core and not used 100% of that single core.  There is no need to do this for a desktop workload.  The scheduler will move things around as required.  If you don't like that behavior modify it in the power settings, not the registry.

  6. Marc Brooks says:

    My registry has 0 for ValueMin and 64 for ValueMax… given that I have 8 cores, that seems like it's not restricting anything, right?