Wstęp
Przedstawione tu zostaną różne
typy optymalizacji, wynikające z doświadczeń własnych i innych
użytkowników: począwszy od optymalizacji szybkości uruchamiania, poprzez
optymalizację pracy, na zamykaniu Windows kończąc. Część ustawień
dotyczy zarówno Windows XP jak i 2000, a niektóre tylko nowszych
okienek.
Mała uwaga: większość zmian w ustawieniach wejdzie do użytku
po zrestartowaniu systemu.
Optymalizacja startu
Windows (BootTime)
1a. Windows XP/2000/2003:
Pierwsze co należy zrobić to zdefragmentować dysk, na którym obecnie
mamy zainstalowany system operacyjny.
1b. Windows XP : W
programie TweakXP (opis poniżej) należy zaznaczyć opcję 'Enable
Boot Defrag' w sekcji 'Cache Optimization' -> 'Harddisc Optimization'.
Następnie należy uruchomić defragmentację dysku.
2. Windows XP : Dla
optymalizacji czasu bootowania możemy posłużyć się programem
BootVis przygotowanym specjalnie do tego celu przez Microsoft.
Kilkamy na 'Trace'->'Next Boot + Driver...'. System zrestartuje się, a
po jego ponownym uruchomieniu musimy poczekać na załadowanie BootVis'a.
Pokaże nam się wykres czasów jakie są potrzebne na ładownie
poszczególnych części systemu i sterowników. Jeśli któryś ze sterowników
jest szczególnie wolny, warto poszukać jego nowszej wersji,
przystosowanej do szybkiej inicjacji urządzenia.
Aby zoptymalizować start Windows kilkamy 'Trace'->'Optimize System' i
czekamy na ponowne uruchomienie. Potem program zoptymalizuje ułożenie
plików na dysku (trwa to kilka minut).
Można zyskać nawet kilkanaście sekund przy uruchamianiu Windows XP.
Download : [
BootVis ]
Optymalizacja wydajności
dysku twardego HDD (ew.CD/DVD-ROM)
1. Najważnejszą rzeczą jest
włączenie trybu UDMA/DMA (jeśli to możliwe):
Uruchamiamy 'Device Manager -> 'IDE ATA/ATAPI controllers' -> 'Primary(Secondary)
IDE Channel' -> klikamy prawym przyciskiem myszy-> 'Properties' -> 'Advanced
Setting' (Menadżer urządzeń -> Kontrolery IDE/ATAPI -> Podstawowy kanał
IDE -> Właściwości -> Ustawienia zaawansowane). Ustawiamy 'DMA If
Available' (DMA jeśli dostępne) dla Device (Urządzenie) 0
i 1. Postępujemy tak zarówno dla kanału Primary jak i
Secondary (Podstawowy / pomocniczy) i restartujemy Windows:
Jeśli DMA/UDMA mimo to jest niedostępne, a my jesteśmy pewni, że nasze
urządzenie jak i kontroler je obsługują, możemy spróbować postąpić
następująco:
Kasujemy w menadżerze urządzeń dany kanał, na którym znajduje się owo
urządzenie. W przypadku napędu DVD/CD-ROM jest o zazwyczaj 'Secondary
IDE channel' (Pomocniczy kanał IDE). Restartujemy komputer. System
powinien wykryć usunięty kanał i ustawić odpowiedni tryb PIO/DMA/UDMA.
W 'Device Type' (Typ urządzenia) najlepiej zostawić 'Auto Detection'
(Auto detekcja). Jeśli jednak nie ma dysku/napędu CD/DVD na danym
kanale Primary/Secondary Master(0)/Slave(1) to można ustawić na 'None'
(Brak), co może przyspieszyć start systemu o kilka sekund.
2. Druga rzecz to oczywiście
regularna defragmentacja (można używać zwykłego, choć nieco wolnego
defragmentatora dostarczonego z Windows).
Godna uwagi jest też darmowa aplikacja
System File Defragmenter, która pozwala na defragmentację plików
systemowych, w tym m.in. pliku wymiany.
Optymalizacja
zarządzania pamięcią
W celu zmian w opcjach wydajności
kilkamy prawym przyciskiem myszy na
'My Computer' -> 'Properties' -> 'Advanced' -> 'Performance Settings'
(Mój komputer -> Właściwości-> Zaawansowane -> Ustawienia wydajności).
Pojawić się powinno poniższe okno:
Processor scheduling
Jeśli ustawimy na 'Programs' (Aplikacje) więcej czasu procesora będzie
przeznaczone na aktywne aplikacje. Z kolei ustawienie 'Background
services' (Usługi działające w tle) przydzieli więcej czasu procesora na
usługi/programy działające w tle. Zalecam ustawienie 'Programs', chyba,
że komputer jest używany jako serwer.
Memory usage (Użycie pamięci)
Ustawiając opcję 'System cache' Windows XP/2003 przyporządkuje więcej
pamięci na cachownie bibliotek i sterowników systemowych. Ustawienie to
jest zalecane dla komputerów z 256MB RAM (i więcej). 'Programs' z kolei
jest najlepszym ustawieniem dla komputerów z mniejszą ilością pamięci
RAM.
Osobiście zalecam ustawienie 'System cache' dopiero przy 384MB RAM i
więcej.
Virtual Memory (Pamięć
wirtualna)
Optymalne ustawienie pamięci wirtaulnej zawsze sprawiało sporo
problemów.
Najlepszym ustawieniem wg mnie jest ustawienie stałego co do wielkości
pliku wymiany tzn.:
Initial size = Maximum size (Rozmiar początkowy = Rozmiar maksymalny)
Dla ilości pamięci 128 MB RAM i mniej zalecam ustawienie (1,5 do
2,5)*Ilość pamięci fizycznej.
Przy 256 MB RAMu zalecana przeze mnie wielkość pamięci wirtualnej to 200
- 256MB. Wpisujemy żadaną wartość i kilkamy 'Set', zaznaczając uprzednio
wybraną partycję/dysk.
Plik wymiamy najlepiej umieścić na szybkim dysku (partycji), którą
uprzednio zdefragmentowaliśmy. Jeśli posiadamy tylko 1 dysk to zaleca
się umieścić plik wymiany na partycji z zainstalowanym systemem Windows.
Szybkość dysku najłatwiej jest zmierzyć programem SiSoft Sandra 2003
lub HDTach 2.61.
Optymalizacja zarządznia
pamiecią poprzez ustawienia rejestru (XP/2000/2003)
Uruchamiamy Regedit i przechodzimy do gałęzi:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\SessionManager\Memory Management]
Tam możemy dodać bądź zmodyfikować
następujące wartości typu DWORD:
ClearPageFileAtShutdown - jeśli ustawimy na 1 system będzie
czyścił plik wymiany przy zamykaniu w celu płynniejszej pracy podczas
następnej sesji. 0 - wyłączone. Zalecam ustawić na 1 (płynniejsza
praca), chyba, że zależy Ci na szybkim zamykaniu systemu.
DisablePagingExecutive - jeśli ustawimy na 1 sterowniki i pliki
wykonywalne nie będą cachowane na dysku tylko przechowywane na stałe w
pamięci RAM. Przyspiesza to oczywiście korzystanie z tych zasobów, ale
zapycha pamięć. Można spróbować włączyć tę opcję przy min. 256MB RAM,
jednak ja zalecem dopiero przy 384, a najlepiej przy 512MB RAM i więcej.
LargeSystemCache - ustawienie analogiczne do 'Memory usage'
(opisane powyżej).
1 = System Cache.
0 = Programs.
IoPageLockLimit - wartość ta określa max. ilość kilobajtów, które
mogą zostać zarezerwowane na operacje we/wy. Kilkamy 'Modify' -> Decimal.
Standardowe ustawienie to: 512 , zaś na większości konfiguracji (z 256
MB RAM i wiecej) zwiększenie tej wartości przynosi lepszą wydajność gł.
systemu plików. Ja zalecam ustawienie 16384 dla 256 MB RAM. (Szczególnie
ważne, gdy komputer uzywany jest jako serwer.)
SecondLevelDataCache - wartość ta określa wielkość pamięci
podręcznej drugiego poziomu L2 Cache dostępnej
dla systemu Windows.
Kilkamy 'Modify' -> Decimal. Np. dla procesorów Athlon K7 (Slot A) ilość
L2 Cache = 512KB. Należy wtedy wpisać 512. Jeśli HAL sam nie potrafi
wykryć wielkości L2, ustawa tę wartość na 256(KB).
Wyłączanie podsystemu POSIX
Usuwając z gałęzi:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\SubSystems]
wpisy 'Optional' i 'Posix' możemy przyspieszyć ogólne działanie systemu
poprzez wyłączenie podsystemu POSIX (Portable Operating System
Interface). Pozwoli to zaoszczędzić nieco pamięci. Jednak zanim
dokonamy tej zmiany musimy się upewnić, że żadna z naszych aplikacji nie
korzysta z podsystemu POSIX (Programy napisane zgodnie z POSIX można
przenosić pomiędzy różnymi systemami operacyjnymi; podsystem ten został
zaczerpięnty z usług UNIXowych). W razie niepewności najlepiej zrobić
backup (NTBackup) lub wyeksportować całą gałąź i dopiero usunąć te dwa
wpisy. W razie problemów zawsze będziemy mogli powrócić do standardowego
ustawienia.
AlwaysUnloadDLL - Explorer
często cache'uje, kopiując do pamięci wiele plików DLL i pozostawia je
tam przez dłuższy czas, co znacznie zmniejsza ilość dostępnej pamięci;
pozwala jednak zaoszczędzić trochę czasu podczas uruchamiania tych
samych aplikacji lub programów korzystających z tych samych bibliotek
DLL. W razie niewielkiej dostępnej ilości pamięci operacyjnej RAM (128MB
i poniżej) zalecane jest ustawienie w gałęzi:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
AlwaysUnloadDLL (wartość typu DWORD):
na '1' (explorer zawsze będzie usuwał z pamięci władowane wcześniej
pliki DLL);
ewentualnie na '0' (explorer będzie zostawiał na jakiś czas władowane
wcześniej pliki DLL)
Prefetching = szybsze
startowanie aplikacji
Jeśli zależy Ci na szybszym
startowaniu programów w Windows XP, możesz zoptymalizować funkcję
prefetching za cenę ciut wolniejszego bootowania. Uruchom
regedit i w gałęzi:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management\PrefetchParameters]
zmień poniższy klucz tak jak podano:
"EnablePrefetcher"= dword: 00000005 (5)
UWAGA:
Po zaaplikowaniu powyższych tweaków należy zrestartować komputer, aby
nowe ustawienia zostały uwzględnione przez system.
LUNA a wydajności
(Windows XP/2003)
Dysponujesz słabyszym komputerem,
masz mało RAMu, starszy procesor, a używasz okienek XP:
Przyspiesz system wyłączając zbędne fajerwerki graficzne. Klikamy prawym
przyciskiem myszy na
'My Computer' -> Properties -> Advanced -> Performance i ustawiamy opcję
'Adjust for best performance' (Mój komputer -> Właściwości ->
Zaawansowane -> Wydajność -> Dopasuj do najlepszej wydajności).
Możesz też oczywiście użyć opcji 'Custom' (Własne) i samemu wybrać,
które opcje włączyć.
Im mniej zaznaczonych tym Windows XP/2003 będzie działał szybciej, ale i
gorzej wyglądał. Sam musisz znaleźć kompromis pomiędzy wyglądem a
wydajnością albo zdać się na automatyczne ustawienie:
'Let Windows choose the best...' (Niech system Windows sam...)
Optymalizacja systemu
Windows XP programem Tweak XP
Nie lubisz szperać w różnych
opcjach i rejestrze? Najlepiej jest wtedy posłużyć sie programem
TweakXP.
Omówię jego najważniejsze i najbardziej istotne funkcje optymalizacyjne.
Download : [
Tweak XP ]
Memory Optimization - optymalizacja pamięci
W celu automatycznej optymalizacji
RAMu kilkamy Optimize RAM. Nastąpi zwolnienie części używanej
pamięci fizycznej.
'Clear the Clipboard' - czyści schowek Windows podczas
optymalizacji RAMu.
'Force Windows to unload DLL's from memory' - czyszczenie DLL
Cache, który jest aktualnie używany w pamięci.
'Let me specify how much memory to reorganize' - sami wybieramy
ile pamięci zwolnić:
Wybieramy ile pamięci chcemy zwolnić (zalecane: połowa całej pamięci
RAM) i kilkamy Optimize RAM.
Komentarz: Osobiście nie korzystam z tej opcji, ale osoby z małą
ilością pamięci mogą spróbować zwiększyć nieco wydajność gier/aplikacji.
Cache Optimization -
optymalizacja cache'u
Jeśli posiadasz wolną pamięć RAM,
możesz przyspieszyć działanie systemu poprzez zwiększenie 'IoPageLockLimit'
do 4096 Kb lub więcej, zależnie od posiadanej ilości RAMu:
4096 KB (dla 32MB i mniej RAM)
8192 KB (dla 32MB i więcej RAM)
16384 KB (dla 64MB i więcej RAM)
32768 KB (dla 128MB i więcej RAM)
65536 KB (dla 256MB i więcej RAM)
Komentarz: Tutaj zalecam zastosować się do powyższych wskazówek.
Harddisc Optimization -
optymalizacja dysku twardego
'Clear pagefile (swapfile) on shutdown' - system czyści plik
wymiamy (SwapFile) przy zamykaniu systemu, w celu lepszej wymiany danych
w następnej sesji. Czas zamykania wzrośnie o kilkanaście sekund
(zależnie od wielkości pamięci wirtualnej).
'Disable Windows File Protection' - Windows File Protection (WFP)
to mechanizm chroniący pliki systemowe (gł. DLL) przed zamianą ich na
niekompatybilne wersje.
Uwaga: Ta opcja dotyczy tylko skanowania plików i nie wyłącza całkowicie
ochrony plików systemu Windows.
'Increase NTFS Performance by Disabling the Last Access Time
Stamp' - przyspiesza działanie systemu plików NTFS (szczególnie przy
dużej ilości katalogów).
'Enable boot defrag for faster booting' - pozwala na szybsze
uruchamianie systemu poprzez defragmentację plików używanych przy
boot'owaniu. Po zaznaczeniu tej opcji warto uruchomić defragmentator
dysku, na którym zainstalowany jest Windows XP.
Komentarz: Tutaj polecam włączyć:
- Clear pagefile (swapfile) on shutdown
- Enable boot defrag
Core System Performance -
optymalizacja rdzenia systemu
'Enable Core System Perf.' - w systemach z dużą ilością pamięci
(min.512 MB) można zwiększyć szybkośc działania Windows poprzez
zapobiegnianie cachowania głównych jego elementów na dysk.
'Optimize CPU/Memory usage for...' - Windows XP może
przydzilić więcej czasu procesora na aplikacje (Applications) bądź
usługi działajęce w tle (Background tasks), więcej pamięci zaś dla
aplikacji (Applications) lub też na cachowanie systemu (System caching).
Komentarz: Tutaj najlepiej jest zaznaczyć:
- Optimize CPU/Memory usage for: Applications - jeśli nie jest to
serwer.
Po ustawieniu wszystkich
opcji kilkamy na 'Save Settings'.
Hardware Tweaks -
optymalizacja sprzętu
'CPU tweaks' - po
wybraniu odpowiedniego modelu, opcja ta pozwoli zoptymalizować szybkość,
poprawiając pracę sterownika procesora. Aby wyłączyć tę optymalizację
kilknij : 'Disable CPU Tweak'.
Display adaptor tweaks: there are tweaks available for the most comman
display adaptors -
'CD / DVD Tweaks' - optymalizacja cache'u napędu CD-ROM lub DVD.
Dużego rozmiaru cache (Large Cache) najlepiej jest użyć przy co najmniej
64 MB RAMu. Można także wyłączyć funkcję AutoRun.
'UDMA66 Mode / Intel chipsets' - opcja ta pozwala włączyć obsługę
UDMA66 na chipsetach Intel'a. Należy jej użyć tylko wtedy, gdy Windows
XP sam nie wykryje odpowiedniego trybu.
'Open optimization wizard' - wciśnij ten przycisk jeśli chcesz
uruchomić Tweak XP System-Optimization Wizard, który to automatycznie
dostroi Windows XP do Twojego komputera. Po wykonaniu tego musisz
zrestartować komputer.
Komentarz: Tutaj zalecam wybrać poprawny typ procesora (Intel/AMD)
oraz włączyć Large Cache dla CD-ROMu/DVD.
Optymalizacja zamykania
Windows XP/2000/2003
Problemy z zamykaniem systemu
Windows XP/2000 i proponowane rozwiązania:
Windows nie wyłącza się (a
ja mam komputer ATX)...
1. W rejestrze zmienić (dodać)
wpis (regedit.exe):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"PowerdownAfterShutdown" = 1 (typ DWORD)
2. Uruchomić 'Device Manager' (Menadżer urządzeń), potem 'View' (Widok)
->'Show Hidden Devices' (Pokaż ukryte urządzenia) i włączyć (Enable)
NT APM/Legacy Support.
3. Zaktualizować BIOS i włączyć
funkcję 'ACPI Support' (jeśli jest dostępna).
Restart zamiast wyłączenia ?
Jeśli Windows XP/2003 restartuje się podczas
zamykania systemu :
1. Sprawdź czego to przyczyna wyłączając opcję automatycznego restartu
podczas awarii:
prawy przycisk na 'My Computer' -> 'Properties' -> 'Advanced' -> 'Startup
& Recovery' -> 'Settings' -> 'System Failure' odznacz 'Automaticlly
restart' ('System reboot') (Mój komputer
2. Spróbuj wyłączyć standardowy
ekran powitalny (Windows XP):
W 'Control Panel' ->'User Accounts'-> Change the way users log on or
off -> Odznacz Use the Welcome screen i ew. Use Fast User
Switching.
3. Może to być spowodowane oprogramowaniem 'Direct CD', które jest
dostarczane razem z Easy CD Creator'em (Roxio). Możesz wtedy spróbowac
usunąć (jeśli istnieje) plik UDFRINST (najlepiej odinstalować całego
Easy CDC).
4. Włącz/ wyłącz APM - tu bywa różnie więc należy pokombinować.
5. Częstą przyczyną jest błąd sterownika któregoś z urządzeń, więc warto
zajrzeć do Podglądu zdarzeń:
'Administrative Tools' -> 'Event Viewer':
Zamykanie działa poprawnie,
ale ... w żłówim tempie...
Windows XP/2000 wyłącza poprawnie
komputer, ale zamyka się bardzo wolno... :
1. Jeśli posiadasz kartę z chipem
firmy NVIdia (cała rodzina kart GeForce 1/2/3):
w 'Control Panel' -> 'Administrative Tools' -> 'Services' (Panel
sterowania -> Narzędzia administracyjne -> Usługi) kliknij na :
NVidia Driver Helper Service. Następnie wyłącz go: chwilowo -
Stop, na stałe - zmienijąc Startup Type na Disabled.
Skróci to znacznie czas zamykania, ale spowolni nieco działanie gier 3D
(spadek FPS rzędu 2 - 5 %).
2. Przeprowadź defragmentację
dysku, na którym masz zainstalowane Windows.
3. Jeśli w rejestrze (regedit.exe)
istnieje wpis:
[ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory
Management ]
"ClearPageFileAtShutdown" = 1
to usuń go. Windows będzie się zamykał szybciej (ale plik wymiany,
SwapFile, nie będzie czyszczony podczas zamykania).
4. Zmień w rejestrze w
następujących gałęziach niżej podane wartości String tak jak
podano:
a. [ HKEY_CURRENT_USER\Control
Panel\Desktop ]
"HungAppTimeout" = 5000 (ustawienie
standardowe)
"WaitToKillAppTimeout" = 4000 (standardowo
20000)
b. [ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
]
"WaitToKillServiceTimeout" = 4000
(standardowo 10000)
Wiele ciekawych wskazówek i porad
znajdziesz też w dziale Tips'n'tricks,
w artykule Optymalizacja połączenia
internetowego oraz Optymalizacja:
usług (wersja PL) / (wersja ENG -
Services) / Optymalizacja
usług w Windows 2003
Na podst. : własnych doświadczeń z używania systemów
Windows 2000/XP/Server 2003 Enterprise oraz witryny3DSpotlight.
Wersja artykułu : 2.0
Ostatnia aktualizacja : 08.12.2005
Wydanie oryginalne: wersja 1.0 (21.08.2001)
GreGM © 2003
|