Kernel parking: definition, reason, performance characteristics, shutdown rules and increased processor performance

The latest Windows operating systems have high enough performance indicators and have such settings that allow, as they say, “squeeze” the maximum of its computing capabilities from the processor. When describing such actions, one can often find the incomprehensible term “parking the processor cores” for many. What is it, even experienced experts in the field of tuning operating systems and computer hardware do not very clearly represent, because the official explanation provided by Microsoft on this issue, to put it mildly, looks very abstruse. Let's try to figure out what this function is, how to enable or disable it, and how much it is advisable to do such things.

What is kernel parking in Windows?

First you need to consider some theoretical information, since it is a thorough understanding of this issue in the future that can affect the decision to activate or disable this function in a computer system with multi-core processors.

The simplest explanation of core parking

In simple terms, the developers of the latest versions of Windows tried to realize not only the possibility of using the entire available potential of each core or the logical flow of the central processor, but also introduced the so-called kernel parking, which is generally intended to not use all available kernels in idle mode, and assign the execution of the active task (if possible) to only one core, on which its execution began. Why is this step necessary? Here you need to understand that modern processors consume a lot of electricity, and the use of all cores significantly increases its consumption, which can cause a fairly strong overheating of the processor chip, as a result of which it can simply fail.

The following picture is obtained: initially, any task performed at a certain moment in the form of a load is distributed between all the cores, and is not under the jurisdiction of only the core that started its execution. This leads to an increase in energy consumption, and can often provoke even a decrease in performance, since the task is constantly "spreading" from one core to another. It is clear that one core will cope with its execution (if it is not a very resource-intensive application) much faster. But with a lack of computing power, you can use other cores. But if one core copes with the task without the help of others, why keep the others active? Conclusion: they need to be "parked" so that they do not intervene. Due to this, the very energy consumption is reduced, and productivity often increases. But this is only a general case, since sometimes it is really extremely necessary to use all the kernels (we will dwell on this separately).

How to find out the number of processor cores?

Let us leave aside the process of parking the cores in Windows 7 and higher aside, and see how to find out information about your own processor so as not to do anything stupid in the future by applying the wrong settings (due to setting incorrect options, the processor and the entire operating system may be interrupted after which even its restoration by regular means may become completely impossible).

True, the situation looks somewhat incomprehensible to many users.

The number of processor cores in the system properties

Suppose you purchase a laptop with a 4-core processor, but then look at the configuration by calling it through the properties of the computer, and you will see there a link to only two cores with the frequency of each of them. It is clear that every buyer begins to think about it, but have they deceived him? No, not fooled! Apparently, it was about a 2-core processor, but with two threads for each core. Such threads are usually referred to as the so-called hidden or, if you want, certain virtual processors.

The number of processor cores in Device Manager

In reality, you can see how many cores are actually available in the processor in the “Device Manager” by expanding the list of processors, where four identical lines will be presented. Exactly the same information can be obtained using special third-party programs like AIDA64 or CPU-Z.

How appropriate is it to use all the cores?

Speaking about the kernel parking in Windows 10 and lower modifications of the system, it is worthwhile to dwell on whether it is necessary to use all the cores with constant load redistribution in general? Sometimes it is necessary. Especially often, you need to include all the cores when performing resource-intensive tasks, if the computer uses engineering and mathematical software, applications for processing multimedia, or even some games. And modern games themselves often require activation of all cores. So, judging by the reviews of some users, such a popular game, like WoW, is clearly “not friendly” with the parking of cores. Disabling this feature, again, based on the feedback from gamers, allows you to stabilize fps in many dynamic scenes, although previously there could be sharp drops in this value.

Enabling and disabling kernel parking in Windows 10 using standard system tools

Now we proceed directly to the actions to activate or disable this functionality. But to begin with, it should be said that, despite the simplicity of the actions performed, an unprepared user can get confused. To configure such parameters, it is necessary to use the system configuration (msconfig), and then click on the advanced parameters button on the download tab.

Key parameters for enabling and disabling kernel parking

In the options installed by default, you can notice that the system uses one processor, and the maximum memory is not set. Now attention! This means that kernel parking is enabled, that is, the system assigns tasks to only one core if possible.

To use all cores with available threads, you need to check the corresponding item on the left and select the required number of processors from the drop-down list. But disabling kernel parking is not limited to such actions. On the right, you need to set the maximum memory by first activating this item. Here, too, one should be very careful. It is strictly forbidden to set a value that will be less than 1024 MB. It is best to set the very maximum of what is available in the system. Pay particular attention to PCI blocking and debugging points. They must be disabled without fail. After completing the settings and saving the set options, the computer must be restarted.

Note: setting the maximum number of processors and memory is not recommended. It is better to use the average value (for example, for four cores, set the use of three with a maximum of 1024 memory for each core, that is, 3072 MB in total, but if there is more shared memory, higher values ​​can be set).

Turn off parking through the registry

Now let's see how to disable kernel parking through the system registry (regedit).

Parameters of kernel parking in the registry

The principle of shutdown is to set the minimum and maximum number of processors used to zero values ​​of the corresponding keys. In order not to go through branches and additional sections for a long time, the easiest way is to use the search (Ctrl + F) and find all the keys with the name 0cc5b647-c1df-4637-891a-dec35c318583. For each of them, on the right side of the window, change the ValueMax and ValueMin parameters to zero by calling up the editing of values ​​by double-clicking or through the RMB menu. As usual, after setting the necessary values, you need to restart the system.

Save parking disable file for registry

By and large, you can use the usual Notepad, add the text shown in the image above, save the file with the REG extension, select all types and enter it manually, and then import the parameters (merge) by running the saved registry file on behalf of administrator.

Power configuration

Upon completion of actions with the registry, you must enter the power settings, go to the currently unavailable parameters, set the following values:

  • the minimum number of cores with idle time: for 2-core CPUs - 50%, for 4-core - 25%;
  • Power Down Resolution: On;
  • shutdown idle: On .;
  • kernel override: off;
  • the maximum number of cores with a simple one: for 2-core CPUs - 50%, for 4-core - 75%.

Kernel Management via BIOS / UEFI

You can also manage kernel parking through primary BIOS / UEFI systems. In the BIOS you need to find the item Advanced Clock Calibration and set the value to "All Cores". In UEFI, this parameter is called Active Processor Cores, and for it you can set either the use of all cores (All), or select the desired number from the list. In this case, the operating system in determining the active cores will be based solely on the settings of the primary systems, not paying attention to the user parameters set in it.

Installing the right amount of cores for applications

But the most interesting thing is that in the latest versions of Windows, the use of processor cores can be enabled selectively for any selected application.

Engaging processor cores for applications

To do this, in the "Task Manager" on the details tab, select the active process and through RMB go to the similarity task. After that, a window will appear in which you can specify the preferred number of cores.

Brief summary

Summarizing the above, it can be noted that parking should not be disabled unless absolutely necessary. Agree, it's not just that the creators of Windows systems activated it by default? It must be assumed that consultations were also held with manufacturers of processor chips in this matter. But to use all available or several of the available cores is sometimes possible and necessary. However, you will have to perform such actions at your own peril and risk, because when installing incorrect options, no one will give a full guarantee of the operability of either the processor or the operating system.

Source: https://habr.com/ru/post/C45811/


All Articles