Centrum informacji o Windows XP/2000/2003 - Strona nieoficjalna  
Cofnij Do przodu XP.net.pl Forum Artykuły Szukaj Downloads Drivers Redakcja i info Redakcja i info

 

   

 

 
ThreadMaster,
czyli jak rozdzielić %-owy czas procesora na różne programy


 


Wstęp

Systemy oparte na jądrze Windows NT (2000/XP/2003) są wielozadaniowe. Często zdarza się jednak tak, że dany proces zużywa 100% zasobów naszego szybkiego procesora i niewiele już można na systemie zrobić. Z pomocą przychodzi nam darmowa aplikacja ThreadMaster.
 

Instalacja

Sam ThreadMaster jest niewidoczny dla końcowego użytkownika - działa jako usługa w tle, zużywając przy tym niewiele zasobów systemowych. Instalacja polega po prostu na uruchomieniu pliku Install.cmd.
 

Konfiguracja

ThreadMaster nie posiada żadnego interfejsu użytkownika. Zarządzamy nim za pomocą parametrów wpisywanych w rejestrze systemowym (RegEdt32.exe) w gałęzi:

[ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster ]

Poniżej opisane są poszczególne podgałęzie i parametry. Zalecamy rozsądną zmianę opisywanych ustawień, szczególnie w sekcji Exceptions, w której powinny znaleźć się wszystkie procesy systemowe (domyślnie jest wpisana ich większość). Po każdorazowej zmianie ustawień aplikacji ThreadMaster w rejestrze należy zrestartować usługę:
services.msc -> kliknąć dwa razy na 'Thread Master' -> Stop ->Start

>> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters]
 
CPUThresholdPct Procentowy czas zasobów procesora przydzielany domyślnie każdej aplikacji. Jest to zmienna o zasięgu globalnym i dotyczy wszystkich uruchamianych aplikacji, za wyjątkiem tych określonych w sekcjach Applications lub Exceptions.

Domyślnie : 15 [%]
Zakres wartości : 3 - 100
Zalecane (GreGM; zależnie od procesora): 50 - 80
 

MainSampleTime Czas próbkowania, podczas którego ThreadMaster zlicza średnie zużycie procesora przez daną aplikację. Jeśli średnie zużycie przekracza wartość CPUThresholdPct, a aplikacja nie figuruje na liście Exceptions, to zużycie procesora jest obcinane do wartości CPUThresholdPct. Jeśli natomiast aplikacja znajduje się na liście Applications, to dopuszczalne zużycie procesora jest obcinane do wartości zdefiniowanej dla tej aplikacji.

Domyślnie : 30 [sek]
Zakres wartości : 10 i więcej
Zalecane (GreGM; zależnie od procesora): 15 - 20
 

ThreadOverloadActionStart  Komenda wykonywana podczas podjęcia akcji przez ThreadMaster.

Domyślnie : brak
 
ThreadOverloadActionStop Komenda wykonywana podczas zaprzestania akcji podjętej przez ThreadMaster.

Domyślnie : brak
 


>>
[HKLM\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Applications]

W tej gałęzi znajduje się lista aplikacji, które nie będą objęte globalną wartością ograniczającą zużycie procesora. Aby dodać nową aplikację do tej listy należy kliknąć prawym przyciskiem na gałęzi Applications, a następnie wybrać:
New (Nowy) -> String Value (Wartość typu String) i wpisać nazwę pliku wykonywalnego danej aplikacji (listę aktualnych procesów można wyświetlić poprzez uruchomienie aplikacji TaskMgr.exe). Po utworzeniu nowego pola należy kliknąć na nim dwukrotnie i wpisać żądaną wartość procentowego czasu procesora przydzielanego danej aplikacji - Zakres wartości : 3 - 100.


  Nazwa obrazu        | Max. czas CPU [%]
-------------------------------------
  nazwa_pliku1.exe   | t1
  nazwa_pliku2.exe   | t2
  ..................................
  nazwa_pliku3.exe
   | t3


>>
[HKLM\SYSTEM\CurrentControlSet\Services\ThreadMaster\Parameters\Exceptions]

W tej gałęzi znajduje się lista aplikacji / procesów systemowych, które nie będą objęte żadną ograniczającą. Oznacza to, że ich maksymalny czas zużycia procesora będzie wynosił 100%. Aby dodać do tej listy nową aplikację należy kliknąć prawym przyciskiem na gałęzi Exceptions, a następnie wybrać:
New (Nowy) -> String Value (Wartość typu String). Wpisać nazwę pliku wykonywalnego danej aplikacji (listę aktualnych procesów można wywołać poprzez uruchomienie aplikacji TaskMgr.exe).

  Nazwa obrazu
------------------
  nazwa_pliku1.exe
  nazwa_pliku2.exe   
  .......................
  nazwa_pliku3.exe
   
 

UWAGA : Lista aplikacji w sekcjach Applications i Exceptions jest uaktualniana tylko po restarcie usługi ThreadMaster:
services.msc
-> kliknąć dwa razy na 'Thread Master' -> Stop ->Start



>> [HKLM\SYSTEM\CurrentControlSet\Services\ThreadMaster\Statistics]

W tej gałęzi dostępne są statystyki generowane przez ThreadMaster - w podgałęzi Time zapisywany jest czas, przez który dana aplikacja zużywała czas procesora więcej niż dopuszczalny zaś w Count ile razu takie przekroczenie miało miejsce.

 

 

Podsumowanie

Ogólnie program ThreadMaster wywiązał się z zadania bardzo dobrze. Jest on bardzo użyteczny - teraz bowiem nawet na najszybszym procesorze nie będziemy musieli czekać z wykonaniem dowolnej innej czynności, aż skończy się wykonywać poprzednia (która obciąża procesor w 100%, np. konwersja WAV->MP3; MPEG->AVI) i system nie będzie dostawał czkawki.

Testy przeprowadziłem na procesorze AMD Athlon 2,2Ghz + 512MB RAM na systemie Windows Server 2003 z wykorzystaniem programu Prime95 Torture Test do maksymalnego obciążania procesora.

Wartości użyte w teście:
CPUThresholdPct : 80
MainSampleTime : 15

ThreadMaster utrzymywał prawie stałe zużycie procesora przez Prime95 na poziomie 80-83%. Mogłem w tym czasie wykonywać spokojnie inne zadania - przeglądanie stron WWW, odbieranie poczty e-mail czy pisanie tego chociażby artykułu.

Program z czystym sumienie polecam każdemu!

Download : ThreadMaster ver. 1.12


Na podst. : własne doświadczenia z używania aplikacji ThreadMaster oraz na podstawie oficjalnej strony programu http://threadmaster.tripod.com/
Wersja artykułu : 1.0
Ostatnia aktualizacja : 08.12.2005

GreGM © 2003

 

 
 
All rights reserved. XP.net.pl © 2003 ^Do góry^