CPU Priority – What is it?
Before the days of multi-core processors multitasking was a myth. Computers were linear in design. That is, they did one thing at a time. The illusion of multitasking came from the fact they did it so darn fast. Like billions of times per second fast.
So, forgetting all about the background services you have running, let’s just talk about a couple of applications. You need to think in terms of time slices. Each application, service and/or utility needs to use a portion of the time the CPU has to offer. That number is finite. You can easily understand why it is that the more things the CPU has to manage, the less time it has to offer each application.
Each application gets allocated a percentage of the total number of time slices. That can be evenly distributed across all the applications, or a given application can be given a bigger proportion of the total. Of course, this leaves less for the other application. Whichever application receives the most is going to run faster; conversely, the lower priority application will run slower.
How to control CPU Priority on your computer
The Task Manager that comes bundled with Windows is the key. You can fire up Task Manager in multiple ways but I think the easiest is to hit the CTRL-SHIFT-ESC keys together. This shortcut will open up Task Manager for you and it looks like this:
Across the top of the window you will notice a group of tabs; the one we want to focus on today is the Processes Tab. Once clicked, Task Manager will display all the processes currently running on your system. Every one of these processes requires time slices from your CPU. In the status Bar at the bottom of the window it shows the number of processes currently running on your system. This includes all the applications, services and utilities.
Judging from this you can see your CPU is a very busy fella. Every single one of these processes requires a percentage, or number of time slices out of the %100 percent your CPU has to offer. That doesn’t leave much time to focus on each one. It also indicates the incredible juggling act that Windows is performing at mind-boggling speed. It always amazes me that it works at all.
Much of the software you install on a regular basis will allocate a normal amount of time to each. This may not be necessary. In fact, it may actually be detrimental to the responsiveness of other programs you deem to be more important. If you take a look at the above list you will see that I have Firefox open in order to feed my persistent internet addiction. I also have another memory-hungry program called Yoono.
Note: For those who are not familiar with Yoono, it’s merely a desktop client that monitors various social networks the likes of Twitter, Facebook, LinkIn, et al.
Since I want to focus on browsing with Firefox, and I want it to be responsive, I would probably like to give it more CPU attention than Yoono. Another way to accomplish this is to give Yoono less priority than Firefox.
The Task Manager gives you a way to adjust CPU Priority and it is amazingly simple. All you have to do is right-click on the process you want to adjust, choose Set CPU Priority, and you you will be shown a list with six options:
- Real time
- Above Normal
- Below Normal
I’m personally conservative and generally opt for a lower setting than a higher one. So, rather than raising the Firefox setting I choose a lower setting for Yoono. You will need to experiment to see what works best on your computer and for the way you use it.
Cautionary Note: If you choose Real time for any one of your processes, then hardly any time slices will be given to other processes which may be vital to your computer’s operation. This may result in some programs “breaking” and might even lead to a system crash. You have been warned. It won’t do any physical damage but you will be forced into the unpleasant task of rebooting your computer and you might even lose unsaved work during that dismal exercise.
There is one major weakness to this method of using Task Manager to manage CPU Priority settings. That is, your settings will be totally forgotten when you re-start your computer.
Enter Prio – the Priority Settings Saver
To overcome this problem there is a light-weight utility called Prio. Once installed, it adds several options to the context menu in Task Manager, and a new very hand Tab, too.
The new context menu looks like this:
The important thing to notice here is the Save Priority option. If it is checked, then Windows will remember your priority settings after system re-boots. I really like Windows 7 but it remains a stickler with me when it doesn’t remember settings, I’ve gone on about this before regarding windows size, locations and settings in another article so I won’t belabor the point here.
Another addition that Prio offers that I like and find useful is a new TCP/IP Tab added to the Task Manager. It now displays all the connections to the internet being made by all the processes currently running on your computer. This can be handy when trying to figure out if something is connected, or “calling home” when you don’t think it should be. This could be an invaluable tool for discovering rogue programs that don’t belong on your system. Namely, Trojans, Keyloggers, and any other form of malware you may not know about.
Prio – where to get it
You can download Prio direct from the developer here: http://prnwatch.com/download.html
(download is a 746KB executable which scans 100% clean through Virus Total)
The Prio site also offers a nice informative page about how to use Prio and discusses some of its main features.
Prio is lightweight using 1.3MB as a background process on my computer. I don’t see any reason why you couldn’t lower its CPU Priority as well.
Once installed, you can basically forget about it. It just works.
There are both 32-bit and 64-bit versions available on the Prio site.
All in all, I think this is one of those gems that somebody, somewhere had the insight to create and I thank them for it.