These days, almost everybody has a multi-core processor. One thing that many Windows users don’t know is that you can set which processors are processing certain tasks. Knowing how to set processor affinity in Windows 7 and 8 is a quick tech trick that may really help you to run certain applications much faster.
[Read also: Key Windows 7 Tips and Tricks]
Changing processor affinity settings is a quick and straight-forward procedure, which is actually similar in Windows 7 and 8. You just have to access Windows Task Manager by simultaneously pressing the Control + Alt + Delete keys on your keyboard and then clicking the “Start Task Manager” button. This will bring up the task manager.
Now that you have the task manager up and running, make sure you are on the processes tab as seen above. Next, you can simply right-click on the process that you want to change the affinity for and then click the “set affinity” link. This will bring up the processor affinity dialog box. You can see this below.
At this point, you can use the check boxes to determine which processors you want working on the task. In my example above, I am setting the processor affinity for my Firefox browser I have open. One more thing I want to note is that I don’t have 8 cores on my processor. My processor is a quad-core Intel chip with hyper-threading. For those who don’t know, hyper-threading, through virtualization by the OS, makes a single processor look and act like a dual-core chip. Either way, it is nice to have control of these virtual cores.
[Read also: 4 Things to Consider when Upgrading to Windows 8]
How is Processor Affinity Useful
Setting processor affinity on a task can be helpful in two pretty distinct ways. First, if you have a process that is using too much processing power, you can limit the process by only allowing it to run on a few or maybe even just a single processor. One example of this is if you have to render a video. However, you also want to play a game while this video is rendering. In this case, setting the video rendering down to only 1 processor will be helpful.
We can use this same example of rendering a video to show how you may want to use processor affinity to speed up the rendering process. In this case, you can make sure that the rendering software is able to use all cores. If you have any other processes running that are using a decent amount of CPU resources, you could then set these processes to use only 1 core. I also want to point out that an alternate way of doing this is to set the process priority a bit higher for the rendering process.
[Read also: 7 Apps for Windows 8 to Pump The Performance and Productivity]
There are some additional considerations you may want to keep in mind. First, it’s not a great idea to change affinity settings for system processes unless you are really sure what you are doing. Next, the biggest benefits of changing processor affinity will come from resource intensive processes. For example, video editing software, sound editing software, engineering programs, and games are usually processor hogs. The last thing to keep in mind is that the affinity settings you specify will last only while the application is open. Once you close an application, its affinity settings will go back to default.
[Image credit: john4kc, Flickr]
Hi Dominic,
While it makes sense for those who are interested in high performance computing, and code their own programs to get every FLOP out of their computer, I am not sure if it is equally good for layman users. For instance, in the screenshot the CPU usage is anyways 0%. How faster can you run a PC that is not even being utilized 1% of its full capacity? I am sure learning this trick can come handy but I am yet to see a home user needing processor affinity.
– Mukesh
Hi Mukesh,
Thanks for the comment! I have found it come in handy personally when trying to render some video or audio, run some complex algorithm in C++/VB/C#, or when playing a game. In these instances, setting the affinity can really save some time or increase performance.
Very useful tip for performing multiple tasks at a time without really affecting the speed of other tasks. Bad thing is that it is only coming up with windows 7/8 not for windows xp. it is showing access is denied message when i try it with windows xp.
Hi Raj,
Thanks for your comment!
You should be able to set affinity in Windows XP as well. Are you logged in with enough permissions to do this? Also, maybe the particular process you are trying to change is the culprit? I know I have this in XP before, but can’t test as I am currently using Windows 7.
Nice tutorial Dominic.
This one can be really useful when we have more than one tasks in hand and the system itself can’t decide which one to give more importance or less.
The next time I play video game along with decompressing a large archive, I will keep this in mind 🙂
Thanks a lot for the comment Mahaveer!
This is one very detailed tutorial Dominic. I surely learn something new today.
Thanks for the comment Jeremy!
I still would not know what I was doing even after reading this article so it is probably reasonable to say I am one of the ones that are best off not trying to do this, not right now anyway.
Thank you for trying to educate me on processor affinity though, I promise I will improve one day, with your help.