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
What is ThreadMaster ?
ThreadMaster is a background service that improves the thread scheduling algorithms of the Microsoft Windows 2000 Operating Systems.
Is ThreadMaster really
100% freeware ?
Yes. - Why ? I find it important to deliver great service to all users,
even if there are a few rotten apples in the basket. The core
functionality is extremely simple, any skilled programmer can do the same on a week-end and a couple of
Why would I want to use ThreadMaster ?
Applications sometimes use more CPU resources than they should, causing all other applications/users to slow down. On a machine being shared by multiple applications, especially multiple users, this can be anywhere from annoying to incapacitating.
Where is the GUI interface ?
All settings are relative static, so no need for a GUI interface, we
thrust you know, what you are doing.
A GUI interface does not supply any functionality to the core functionality
Finally - real men don't click.
Can I have more users on the server ?
Yes, but use ThreadMaster to give the users a better experience,
this way you obtain some cheep credit by the users.
Why not just throw servers at the problem ?
Yes, you can increase the number of servers, and introduce load balancing.
But this still doesn't resolve the problem on individual servers. Regardless of whether a server has 10 or 50 users on it, doesn't matter -
it only takes one user and one rogue or intensive application to starve all
the other users of resources.
Can ThreadMaster run
without Citrix ?
Yes, ThreadMaster has no knowledge about Citrix and other products on
What kind of Applications work with
All kind of applications, having a imagename in TaskManager.
What are the benefits?
Increased user satisfaction, more users per server.
What are the drawbacks ?
None, except for the "loser" that are causing the CPU overload,
their application runs significantly slower, but many users will not
How do I uninstall ThreadMaster ?
You properly don’t want to uninstall ThreadMaster, but if you insist here is how to do it:
Start a command prompt.
Go to the %windir%\system32\ThreadMaster directory
net stop threadmaster
Delete the folder %windir%\system32\ThreadMaster
Your are done.
run on NT4 ?
ThreadMaster can only run on Windows 2000 and above
ThreadMaster has no GUI interface, all configuration is done by using a
well known tool "Regedit". Changing registry keys not described in this section, may cause serious problems.
Use Registry Editor at your own risk.
After any changes in the configuration please restart the ThreadMaster
service for the changes to take effect.
All the default values in ThreadMaster is
based on 2 CPU Compaq server, but can be used on any configuration.
||CPU load threshold per application.
This is a global setting and affect all applications, unless
other settings are defined in the "Application" or
Default: 15%, Valid range 3 -
||Time in seconds for application load above "CPUThresholdPct" |
This value define the measurement time ThreadMaster using
for calculating the average CPU
Default: 30 sec. Values above 10 sec. accepted.
||Command to execute at action start. |
Command to execute at action stopping. See the sample files "Threadloginstall.reg" and "ThreadLog.cmd"
These files may be edited for your own usage. |
A list of special applications and the allowed CPU load. Only
applications different from the general rule defined by "CPUThresholdPct" .
Applications running as a single published application, in many
instances, can profit by setting the applicationkey as low as 5%.
The list is read dynamically.
IMPORTANT: In multithreaded applications with multiple CPU incentive
threads, don't set this value below the current number of CPU incentive
threads, this may cause the application to "hang" , or run extremely
Application image name and
max. load threshold pct. (n)
Valid Range 3 - 100
A list of applications not handled. Make sure all vital and
basis system processes are listed here, otherwise the system
not work properly.
Do not take it for granted that antivirus programs etc. are vital,
in this sense.
The list is only enumerated when Threadmaster starts.
Statistics is updated by ThreadMaster, this section documents the
work of ThreadMaster.
|| ThreadMaster Readme file
Install ThreadMaster service
|| Install logging of actions, build
The log recorder, |
|| A "at" job handling the size of the
Thread Master - Freeware License, version
Permission is hereby granted, without written agreement and without
license or royalty fees, to use, copy and/or distribute this
package, provided that:
- copyright notices are retained unchanged
- any distribution of this package, includes this file
Permission is hereby also granted, without written agreement and
without license or royalty fees, to distribute binary programs which
depend on this package.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE
The source code is available for Euro 2000,
please contact ThreadMaster by mail, for details.