You are on page 1of 3

ThreadMaster

ThreadMaster Monitors Threads and handle high CPU utilization on a per application
basis.
This function is primarily indented for Terminal servers hosting multiple users.

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
time period.
The second parameter is the allowed maximum CPU utilization for the process over
the given time.

Configuration
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 come to effect.

All the default values in ThreadMaster is based on 2 CPU Compaq server, but can be
used on
any configuration.

ThreadMaster can by default handle 12287 simultaneous process running on the


server.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters]

CPUThresholdPct CPU load threshold per application. This is a global


setting
and affect all applications, unless other settings are
defined in
the "Application" or "Exceptions" sections.
Default: 15%, Valid range 3 - 100.

MainSampleTime Time in seconds for application load above


"CPUThresholdPct"
This value define the measurement time ThreadMaster using
for
calculating the average CPU utilization for applications.
Default: 30 sec. Valid range 10 - 100+.

ThreadOverloadActionStart Command to execute at action start.


Default :none

ThreadOverloadActionStop Command to execute at action stopping. See the sample


files
"Threadloginstall.reg" and "ThreadLog.cmd" These files may
be
edited for your own usage.
Default: none

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 only enumerated when Threadmaster starts.

MPORTANT: 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 slow.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Appl
ications]
appimagenameA n Application image name and max. load threshold
pct. (n)
appimagenameB m Valid Range 1 - 100
...
appimagenameX x

A list of applications not handled. Make sure all vital and basis system processes
are listed here,
otherwise the system may 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.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Exce
ptions]
imagenameA
imagenameB
...
imagenameX

Statistics is updated by ThreadMaster, this section documents the work of


ThreadMaster.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Statistics]
Count\ Number of times a image is handled
imagenameX
...

Time\ The total handling time for a image


imagenameX
...

Files Description
--------------------
----------------------------------------------------------------
Readme.txt This File
License.txt License file
Install.cmd Install ThreadMaster service
ThreadMast.exe Threadmaser service
Threadloginstall.reg Install logging of actions, Optional File, build by
install.cmd
ThreadLog.cmd The log recorder, Optional File
ThreadSaveLog.cmd A "at" job handling the size of the logfile, Optional File

--------------------
-----------------------------------------------------------------

Have fun

Soren M. Pedersen

threadmaster@europe.com
http://threadmaster.tripod.com

You might also like