Force Windows Applications to Use a Specific CPU

Almost all the modern computers today have more than one core. By using these multi-core processors you can flawlessly set certain programs to run on a certain CPU. Programs designed today are made to utilize these multiple cores to increase the speed of execution and overall efficiency by distributing the load on all the cores. In fact, if you navigate to the “Performance” tab in the “Task Manager”, you will see that all the cores and logical processors (threads) are being used simultaneously.

force-programs-specific-cpu-performance-tab

This distribution of load among all the cores is really good. But this is not always the best case as some of the old programs are designed to run on a single core CPU, or you may want to set a specific application to run on a certain CPU so that it won’t bloat down your whole work flow. For instance, Disk defragmenter in Windows takes up a lot of CPU resources when running. This essentially slows down your PC. To avoid it, you can set the defragmenter program to use a specific CPU so you can continue to do other stuff while it is running in the background.

Let us see how to change affinity values to force a specific Windows application to use a specific CPU.

Note: Changing affinity values is an advanced configuration; doing it wrong may cause your applications to run abnormally. If you are not sure, then let Windows choose what’s best for you.

To change affinity value in task manager, open up the task manager by right clicking on the taskbar. Now select “Task Manager.” Alternatively, you can use the shortcut “Ctrl + Shift + Esc.”

force-programs-specific-cpu-task-manager

In the task manager, head to the “Details” tab. Here you will see all the processes that are currently running.

force-programs-specific-cpu-details-tab

Find the process you want, right click and select the option “Set affinity.” In my case, I’m selecting the Bittorrent application.

force-programs-specific-cpu-select-affinity

The above action will open “Processor affinity” window. By default, every process uses all the CPUs available. To force the process to use a specific CPU, uncheck all the CPUs that you don’t want your process to use and click on the “Ok” button.

force-programs-specific-cpu-select-cpu

That’s all there is to do to successfully change the affinity values for a process.

To monitor the performance of all your CPU cores, head over to the “Performance” tab in the task manager and click on the “Open resource monitor” link.

force-programs-specific-cpu-open-resource-monitor

Navigate to the CPU tab to see the performance of all your CPU cores.

force-programs-specific-cpu-cpu-resource-usage

The changes made using the task manager are temporary, i.e. the process or the program will use all the CPU cores once you have relaunched the program or once you restart your machine. So you don’t have to worry about any permanent changes.

Now that you know how to change affinity values for specific programs, do experiments with different programs to improve your workflow and productivity. Do comment below if you face any problems while changing affinity values or to share your thoughts on changing the affinity values.