介绍一个限制进程最大CPU占用的软件: ThreadMaster


软件的主页
http://threadmaster.tripod.com/
'好像上不去...
这个链接是可以的
http://bednorz.uni2.net/anyland/threadmaster/threadmaster.htm

简介:
ThreadMaster Monitors Threads and handle high CPU utilization on a per application basis.
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.
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.

下载地址: 目前的版本是Ver. 1.12 Build 182
http://bednorz.uni2.net/anyland/threadmaster/tminst112.zip

安装 软件仅支持Win2000以上系统

安装非常简单,将压缩包解开,运行其中的Install.cmd就可以了。
在主页上有卸载的方法,或者更简单,下载一个脚本执行一下也可以:
http://bednorz.uni2.net/anyland/threadmaster/uninst.cmd

配置详解Configuration

软件没有GUI,所有设置直接修改注册表:
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.

[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.   Values  above 10 sec.  accepted.

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Applications]
  appimagenameA      n         Application image name and  max. load threshold pct. (n)
  appimagenameB      m        Valid Range 3 - 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\Exceptions]
  imagenameA
  imagenameB
  ...
  imagenameX

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

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

中文详解,部分关键配制

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters]
CPUThresholdPct
这个是设置一般进程最大CPU占用率的地方,有效值 3-100

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Applications]
这里可以针对具体进程限制其CPU占用

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Exceptions]
这里可以设置不受上面占用率限制影响的进程列表,缺省已经有一些系统进程在里面了,也可以自己进行修改

手工卸载的方法
命令提示符下操作:
%windir%\system32\ThreadMaster\
运行 "net stop threadmaster"
运行 "ThreadMast -remove"
删除 "%windir%\system32\ThreadMaster\" 目录

 
文章摘自:中国分布式计算机论坛

posted on 2007-01-27 22:16  Gardener  阅读(2590)  评论(0编辑  收藏  举报