Posted by: kurtsh | July 16, 2007

HOWTO: Throttle the CPU on Desktops & Terminal Servers

Have you ever been concerned about maxing out the CPU utilization on a machine?  Say for instance, a Terminal Server user starts an Excel sheet and it pegs the CPU of the whole server and everyone else’s Terminal Server sessions becomes unresponsive or experiences a degraded session.

THREADMASTER… THE FREE CPU THROTTLER
CPU throttling prevents applications using more than a X percentage of CPU time for a Y period.  There’s a bunch of tools available to accomplish this however one favorite of mine is Threadmaster (http://threadmaster.tripod.com/), a free program that’s been around for 5-6 years now and has been a staple of terminal server users all over the world however remember – it’s not tied to a Terminal Server:  It can be used on desktops, servers, and anything in which you want to control the CPU used by an individual piece of software.  Here’s the description:

ThreadMaster monitors threads and handle high CPU utilization on a per application basis.
This function is primarily indented for Terminal servers hosting multiple users. ThreadMaster can also be used when running multiple virtual machines on the same server, to limit each virtual machines CPU usage.

ThreadMaster is a background service implementing a CPU Quota mechanism on top of the standard thread scheduling algorithms of the Microsoft Windows 2000 Operating Systems.

A single user is capable of hogging all of the processor resources. The result will be a reduction in the quality of service experienced by all other users on the server. ThreadMaster can help you to deal whit this situation.

ThreadMaster monitors all running applications, and detects when a application starts to use excessive processor resources. It dynamically hunt down the offending thread, and clamp the CPU for this thread. This feature ensures that other users can remain working without noticing anything. The clamped process will eventually finish, and the clamp will be removed automatically.

Remember: 20 applications, each having a CPU utilization of 5 % still adds up to 100%.

Administration of ThreadMaster is extremely simple, the behavior is in general, controlled by only two key parameters. The first parameter instructs ThreadMaster to monitor application activity over a given of time.  The second parameter is the allowed max. average CPU utilization for the process over the defined time.

MSTerminalServices.org has a great article that discusses CPU throttling using Threadmaster in greater detail:  http://www.msterminalservices.org/articles/ThreadMaster-Rogue-Applications.html

ALTERNATIVES FOR THROTTLING
Now if you’re looking for something a little more comprehensive and you have money to invest in the issue, there are numerous 3rd party software solutions available for the Enterprise… but to the cheapskates out there, don’t expect these to be in your price range.


Categories

%d bloggers like this: