Process Throttling for Windows

While I was looking over Beta News the other day, I came across a handy freeware utility called Process Tamer. It implements an idea which I've had for a few years but didn't have the programming skills to implement ;). Essentially, it runs in the tray and keeps watch on the currently running process (your web browser, your word processor, and so on) and if any of them starts becoming greedy and eating up all your CPU cycles, Process Tamer puts the hammer down and lowers that app’s priority until it gets back under control.

“There are many times when a process will hog your cpu, such as when converting audio/video files, or working with compressed archives. Because these processes completely consume the cpu, your system becomes sluggish to respond and using the computer for other tasks becomes impossible while these processes are running.” “Process Tamer solves this problem by identifying such these degenerate conditions and temporarily reducing the priority of the offending processes in order to allow your system to respond to other requests. Stop being a victim to an overloaded cpu — let Process Tamer keep your system responsive no matter what you're doing. […] ”

If all this talk of “processes” and “scheduling” is Greek to you, I’ll try to go over the general idea. As you’re likely aware, modern operating systems can multi-task which allows them to run multiple programs at the same time (such as viewing a web page while your e-mail client runs in the background). But, at the micro-level, your CPU can only pay attention to one application (“process”) at a time. So, it cycles through each application, doing a few calculations for one of them, switching to the next one, doing a few more calculations, and so on.

And, each process can also have a priority assigned to it which means that higher priority processes are given a preference if there’s a mad grab for CPU cycles. One example of priorities is your mouse cursor which, if I recall correctly, has nearly infinite priority — that is, even under heavy load, your mouse cursor is always supposed to remain responsive. So, what happens if two applications have the same priority but one of them becomes greedy? Well, the meek app just loses out.

And that’s where Process Tamer comes in. Say you're ripping some CDs and the ripping application is hogging the CPU, making your e-mail client sluggish; well, Process Tamer notices that and temporarily lowers the ripper’s priority, leveling the playing field for the other applications.