There are times when one or more processes start taking 100% CPU usage in Windows 10. This may lead to a slow system. One solution to this issue is to limit CPU usage for specific applications in Windows 10. We will discuss these in this article.
Table of Contents
Adjust program affinity
We can also customize each process within Windows 10 to utilize only specific CPU cores while leaving the others for the other processes to execute simultaneously. This can be used to optimize CPU utilization, but only if handled carefully.
Note that customizing process affinity is not always useful. Before messing around with them, you need to consider whether you have CPU cores that are mostly idle, or are you running an application which executes independent threads?
In a situation where one thread needs to be executed before the other, process affinity can be set for both to utilize the same core. However, software having independent threads can be split across multiple cores to increase its performance.
Another consideration to make is whether the threads are cache-intensive. Meaning, do they all rely on extensive cached data? If they do, then the execution of each thread is very much dependent on the availability of the cached data. Hence, it would be better to run each thread on a separate core to maximize cached data resources.
- Launch the Task Manager and go to the Details tab.
- Look for the process you wish to modify the affinity, and right-click it. Click on Set affinity in the Context Menu.
- From the Process affinity window, you can select the cores you wish the process to limit to, and uncheck the boxes next to the rest. By default, all processes utilize all cores.
As my computer only had 4 cores, it is displaying them as CPU 0, 1, 2, and 3.
But how will you know what cores are available? This can be checked through the Task Manager’s graphical representation of CPU resources.
Open the Task Manager and go to the Performance tab.
Click on CPU in the left pane, and then right-click the real-time graph on the right side. Expand Change graph to and select Logical processors.
The Task Manager will now display graphs for utilization of each core individually, which can be used to identify the less-used cores and assign them to specific threads.
Limit overall CPU utilization
Too many threads and processes often take up the processing cores within the CPU. Over-performance of the CPU can also be a cause for it to overheat, especially in an old and dusty environment.
To check how much CPU is being consumed at any given time, head over to the Task Manager.
Launch the Task Manager by right-clicking the Taskbar, and click Task Manager.
Switch to the Performance tab.
This tab gives a graphical as well as percentage representation of how much each compartment is being used up, including the CPU, memory, network, and disk. From here, you can determine whether the CPU is being overused.
Anything over 90% can be considered dangerous for the CPU and the hardware.
If you think that it is too much for the computer to take, you can set a cap on CPU utilization through the Settings, which essentially means that it will not allow CPU utilization above that threshold. This will not resolve system slowness but will address CPU overheating and indirectly affect its performance.
- Navigate to the following location:
Control Panel -> Hardware & Sound -> Power options -> Change plan settings -> Change advanced power settings - In the Power Options window, expand Processor power management, and then expand Maximum processor state.
- Now click on On battery and set the maximum threshold value for CPU utilization. Do the same for Plugged in to allow different maximum CPU utilization percentages for when the computer is running on battery (in case of laptops) and when it is running on direct power.
- Click on Apply and Ok when done.
You will now notice that the CPU utilization percentage will not go over the set value in Task Manager.
Useful tasks for further CPU optimization
End/Kill all non-essential applications, processes, and files
Any applications or services running in the background which are not required also take up space in the CPU while the user is performing time-critical tasks. This often causes delays in the tasks on high priority.
Let’s see how we can eliminate the unimportant tasks and processes.
End process utilizing maximum CPU
Processes such as system scans and antiviruses often take up a significant portion of the CPU when searching through the entire computer. They make performing other tasks simultaneously almost impossible.
The perfect solution to this would be to schedule such applications to run scans at times other than the active hours. However, if the process has already been executed, it can be eliminated through the Task Manager.
- Open Task Manager (Ctrl + Shift + Esc)
- Under the Processes tab, click on the CPU bar to arrange the tasks in descending order. This means the processes taking maximum CPU percentage would come on top.
- From there, right-click on any task you do not need at the moment and click on End task.
This will free up space in the CPU for other important tasks.
Automatically adjust your Windows for maximum performance
Windows 10 comes with a built-in feature to disable all non-essential visual features instantaneously. This can be used to switch off all animations, window shadows, etc. Although small, these features take up some space in the CPU.
- Navigate to the following:
Start Menu -> Settings -> System -> About -> Advanced system settings - In the System Properties window, under the Advanced tab, click on Settings under Performance.
- In the Performance Options window, under the Visual Effects tab, select Adjust for best performance. Then click on Apply and Ok.
You may now notice that windows change instantaneously when switching between them, and no animations take place.
Disable auto-starting applications
Often there are some applications that start and popup as soon as you turn your computer on. Such applications significantly slow down the system boot-up process as they try to run during the start-up process and hold back other critical threads.
You can disable these applications from automatically starting, and can run them later if required.
Run the Task Manager and switch to the Startup tab.
You can see the applications that support automatic startup, and their current status in this tab. Click the applications that you want to disable and then click Disable at the bottom of the window.
Any non-essential application will now make room for other more-important processes to execute and utilize the processor.
Delete Pagefile
This step is not so much for the CPU, but rather for optimizing the system in general.
PageFiles are instantly-accessible cache files stored on the hard drive. Processes that execute on the RAM can now execute in the hard drive, saving time as well as RAM resources. These are dynamic files that can expand up to the size of the RAM itself. You can configure these to delete themselves from the hard drive each time you restart or shut down your computer.
Configuring these to auto-delete will make room for new files on the hard drive, and the old processes won’t execute anymore.
Since the process involves making changes to the System Registries, it is recommended to create a system restore point.
- Open the Registry Editor by typing in regedit in Run.
- Navigate to the following in the left pane:
HKEY_Local_Machine -> System -> CurrentControlSet -> Control -> Session Manager -> Memory Management - In the right pane, double-click ClearPageFileAtShutdown and set the Value Data to 1.
- Click Ok and then restart the computer for the changes to take effect.
Perform a general service of the hardware
Starting small, ensure that your computer’s hardware is clean. A buildup of dust and debris can cause improper air circulation through the hardware, which is important for it to function properly. It is true that the load on the CPU and other hardware causes the system to respond slowly, but so does the dust on the fans and heat sinks.
Dust is also sometimes the primary reason why systems often shut down completely without warning.
How have you used these tips to customize your operating system?
3 comments
Dan
Thank you , thank you , you have save me great time…
Pradip Shah
Why go through such complicated methods? I have been using BES from the following web site…
http://mion.faireal.net/BES/
I found it and started using it some 10 years ago. It was when I was having a lot of problems with AMD Athlons and Phenoms overheating and going into thermal shutdowns. Especially in summers when the ambient temp would go to 44-45 °C and I had to take the side cover off of the cabinet and literally direct the draft of humidified and cooled air from a Desert Cooler at it.
Just select the process that might be taking up a lot of CPU power and select the extent of restriction by a slider. Works like a charm.
Usman Khurshid
BES seems very interesting. I’ve tried it on one of the processes and instead of limiting it to a specific CPU core, it can reduce the performance percentage that I think of as CPU time.
@Subhan If you could update the article and include your experience with this nifty utility, it would be a great addition.
@Pradip thanks a lot for the wonderful tip :-)