Jak podkręcić Windows za pomocą rejestru?


Od razu się przyznam, że tytuł jest trochę zaczepny i w "stylu Onetu", ale chciałbym Wam dziś napisać kilka słów o tym, o co czasem Klienci pytają pracowników Microsoft lub też konsultantów, w zakresie polepszania działania produktów Microsoft (tu na przykładzie Windows Server 2012) za pomocą różnych tricków (w tym zmian w rejestrze).

Podkręcanie systemów przez rejestr

Podkręć rejestrTo fakt, że jest sporo naszej winy w tym, że dawno temu przyzwyczailiśmy naszych Klientów do tego, że różne elementy systemów operacyjnych można było "tweakować" (nie mogę znaleźć dobrego polskiego odpowiednika) za pomocą różnych tricków. Najczęściej były to pewne zmiany w rejestrze lub w różnych innych plikach konfiguracyjnych.

Okazywało się, że np. w stosunku do podstawowej i domyślnej konfiguracji udawało się wyciągnąć więcej wydajności, więcej szybkości, więcej wszystkiego... I często proces instalacji systemu wyglądał tak:

  • Instalacja domyślnego OS
  • Znalezienie i zaimplementowanie magicznych zmian w rejestrze
  • Zrekonfigurowanie domyślnych ustawień (np. ślepe wyłączenie IPv6)
  • I inne tego typu...

Informacje o tym, co i jak podkręcać krążyły jako magiczne "tips & tricks" po internecie, forach i blogach i choć oczywiście często pojawiał się dopisek "nie ręczę za prawidłowe działanie" (lub jemu podobne), to jednak wielu specjalistów IT korzystało z takich możliwości i jakby nie patrzeć - na siebie brało odpowiedzialność za wprowadzanie takich zmian do środowiska produkcyjnego.

Dlaczego dziś podkręcanie nie ma racji bytu?

Do dziś pojawiają się takie pytania kierowane do wielu ludzi z Microsoft - ostatnio np. pytanie o to jaką wartość powinna mieć optymalna wielkość Page File dla hosta Hyper-V z Windows Server 2012 + od razu stwierdzenie, że sugestie tego typu mieliśmy kiedyś (2 lata temu) i jak to się ma dziś i gdzie można znaleźć podobne wskazówki. I drugi przykład - jaką wielkość RAM powinienem zarezerwować dla partycji parent, bo przecież kiedyś mieliśmy sugestie jak to zmienić i ustawić w rejestrze.

Tu zalecenie grup produktowych dla najnowszych systemów (w tym Windows Server 2012) jest jedno i proste: "let the system manage it" - czyli własnymi słowami - tak zaprojektowaliśmy nasze najnowsze systemy, aby na domyślnych ustawieniach działały jak najlepiej i jak najwydajniej.

I co ważne - wszystkie zespoły testowe w Microsoft to takie właśnie ustawienia sprawdzają i testują - więc tylko w ich wypadku masz pewność, że będzie to działać jak powinno - wydajnie, sprawnie i zgodnie z zalecenami. Nikt w Microsoft nie zajmuje się testowaniem takich "tweaków" czy własnych ustawień.

Windows InternalsNatomiast jeśli ktoś z Was jest bardzo ciekawy dlaczego pewne rzeczy są zrobione w taki a nie inny sposób (i jak działa np. takie ustawianie Page File) oraz jak to działa na poziomie prawie że języka maszynowego - to możecie oczywiście usiąść do najnowszej edycji Windows Internals (6 edycja) i tam czytać sobie o wszystkich szczegółach. Aczkolwiek plotki krążą, że przeczytanie tej książki może spowodować zagotowanie mózgu 😉

Natomiast założenie jest takie, że to Windows ma zrobić trudną robotę za Ciebie, bo nie na darmo ktoś siedział nad tym dłuższy czas. Więc proponuję na przyszłość pamiętać o tym i w odniesieniu do najnowszych produktów Microsoft zaufać nam, że domyślne ustawienia zrobione są tak, aby były jak najlepsze dla Twojego środowiska. I kiedy mówimy "pozwól systemowi tym zarządzać" - to dla Waszego spokoju ducha tak zróbcie, a nie będziecie żałować 🙂

I na zakończenie ciekawy cytat z dyskusji z grupą produktową:

There is an old saying in the kernel world that you should never try to manage the memory manager, or out-schedule the thread scheduler.

Comments (14)

  1. Niektóre rzeczy jednak zostają "tylko do tweakowania" (BTW: "tweak" a nie "tweek" 🙂 ) – na przykład IIS nadal trzeba ustawiać w rejestrze, żeby obsługiwał konta z dłuuugim tokenem 😉

    Tak samo – żeby OneNote zapamiętywał hasło (support.microsoft.com/…/943280)… Może to trochę nie "tweakowanie", bo nie zwiększa wydajności/nie 'podkręca' systemu – ale przez tyle wydań Windows można by takie rzeczy do GUI gdzieś wyciągnąć 🙂

    A z "tweaków" użytkowych – przyspieszających – jest na przykład ustawianie parametru "MenuShowDelay" w Win8 – pozwala zmienić czas, jak szybko ekran ModernUI się pojawia (fakt – na większości sprzętów to pomijalne opóźnienie jest – więc "mały" tweak 🙂

  2. @Mariusz – brak dokumentacji – to chyba problem większości technicznych rzeczy 😉

    Nawet świat jest stworzony przez Inżyniera – działa dobrze, ale dokumentacji brak. Niektórzy próbują nadrobić (patrz http://www.youtube.com/watch), ale nadal – dokumentacji brakuje 😉

  3. Anonymous says:

    moje 3gr:

    oprócz czytania książek typu "Windows Internals" dla tych, którzy twierdzą, że wiedzą jak działa Windows i jak sobie pomóc pracując z tym systemem, polecam egzamin "Windows Internals". Pewnie większość dowie się wówczas o co najmniej kilkunastu nie ciekawostkach, tylko komponentach, o których im się nie śniło 😉

  4. @Łukasz: Jeśli chodzi o plik wymiany to pytanie dotyczyło serwera, więc tam problemów z dyskiem być nie powinno.

    Natomiast na komputerze klasycznym – jeśli masz problemy z przestrzenią dyskową + wiesz co robisz, to oczywiście zmiany możesz sobie wprowadzić – po to ta możliwość istnieje i nie została całkowicie wycięta…

    Ale z drugiej strony – system naprawdę tym dobrze zawiaduje – mój przypadek – mam Windows 8 z 8GB RAM, i automatyczne ustawienie dla Page File powoduje, że wartość Recommended u mnie ma 4579MB, natomiast Currently allocated jest 1216MB, więc nie jest źle – bo to 1GB 🙂

  5. @czendler: Z tego co wiem (ale mogę się mylić) to zalecenie zostawienia ustawień domyślnych dotyczy najnowszych produktów Microsoft – czyli w wypadku serwera to Windows Server 2012. I z tego co słyszałem, to dokument, który pokazujesz w takiej formie dla wersji 2012 się NIE pojawi 🙂

  6. @Tomek: Jeśli chodzi o tego nieszczęsnego IE6 – to jak pisałem – musimy głowę posypać popiołem, bo faktycznie trochę ludzi przyzwyczailiśmy do grzebania…

    Ale bardziej chodziło mi o to, że dla _najnowszych_ systemów zalecenia grupy produktowej (przynajmniej tej z Windows Server 2012) jest takie, aby używać wartości domyślnych i to w skrajnie różnych środowiskach (i tych malutkich i tych dużych). Ale też zdaję sobie sprawę, że w starszych produktach, bez tego grzebania czasem nie dało się zrobić co się chciało.

    A te nieudokumentowane zmiany… No chciałbym, żeby tu faktycznie było 100% piękny świat 🙂 Ale wiem, że zawsze coś się trafi o czym ktoś nie napisze bo zapomniał, albo nie napisze, bo … nie wiem… 🙂

  7. @Dominik: Dzięki za wyłapanie literówki – poprawione. A to o czym mówisz – to faktycznie jest raczej brak pewnych elementów w GUI niż ręczne strojenie systemu. Chodzi o to, że domyślne konfiguracje są tak szykowane, aby były jak najwydajniejsze i aby użytkownik musiał jak najmniej wiedzieć i zastanawiać się dlaczego i jak coś działa oraz jaką powinien mieć wartość parametr X czy Y.

    I oczywiście koronnym przykładem tego o czym Ty mówisz jest też PowerShell, w którym można zrobić praktycznie takie rzeczy, które w GUI czasem są niedostępne. Ale to jak mówię – raczej nie dodanie elementów do GUI jest.

  8. @Sebastian: Po wczytaniu się w dokument możesz zobaczyć, że są to bardziej "best practise" niż "tuning tips". Dokument opisuje budowanie dobrze zbalansowanego systemu (szybkie procesory vs. wolniejsze, czego szukać w NIC, itp.). Są tam tylko jakieś pojedyncze wyjątki, które mówią – "wprowadź zmianę w rejestrze".

    Same zmiany w rejestrze miały sens 10-15 lat temu, kiedy systemy były po prostu wolniejsze i nie miały czasu na pewien rodzaj auto-tunningu żeby dopasować się do sprzętu. Teraz same robią taki auto-tuning i nie trzeba tego robić za nie 🙂

    No i najważniejsze – zdecydowanie powinno się korzystać z ustawień domyślnych, bo te są bardzo intensywnie testowane i sprawdzane. Wszelkie inne zmiany to już praca na własną rękę.

  9. czendler says:

    Ok

    A co z 2008R2? Istnieje nawet całkiem solidny dokument "Performance Tuning Guidelines for Windows Server 2008 R2"

    msdn.microsoft.com/en-us/library/windows/hardware/gg463392.aspx

    110 stron opisujący jak tweakować systemy serwerowe, co z tym przypadkiem? ;>

  10. Łukasz Tkacz says:

    Zgadzam się z wpisem w niemalże całej rozciągłości – co prawda raczej niewiele używam Windows Server, to to się tyczy również systemów klienckich. Od zawsze było masę "poradników" jakie to usługi wyłączyć, co zmienić itd. ale nawet po zastosowaniu tony z nich różnice za wielkie nie były… już na poziomie Windows XP dało to o sobie znać, a w każdym kolejnym się "pogłębiało". No może wyjątkiem jest usługa wyszukiwania w Viście, która na swoje czasy za mocno jechała po dysku.

    Nie zgodzę się jednak co do wspomnianego pliku wymiany. Posiadam dysk SSD 256 GB i 8 GB pamięci RAM, nie mam innego nośnika na dane w komputerze osobistym. Z ustawieniami systemowymi ~6 GB idzie na plik wymiany, a dodatkowe drugie tyle na plik hibernacji (przydaje się, usypianie to jednak nie to samo). Ubytek takiej ilości miejsca jest już dobrze widoczny przy takim dysku.

  11. Łukasz Tkacz says:

    Aha, dodam coś jeszcze, napisałem bowiem:

    "ale nawet po zastosowaniu tony z nich różnice za wielkie nie były… "

    chodziło o różnice w szybkości działani – tych brak.

    Co się zaś tyczy stabilności… przez wprowadzanie takich zmian, których sie na dobrą sprawę nawet nie rozumiało, trzeba było stawiać co trochę system na nowo, lub walczyć z niedziałającymi rzeczami (tradycyjnie w najmniej odpowiednich momentach).

    No ale programy do "tweakowania" nadal prężnie się rozwijają – "business is business", co niektórzy nawet to kupią 😉

  12. ToMeK says:

    Mariusz, to zależy co rozumiesz przez tweakowanie. Bez zmian w rejestrach nie da się czasami po prostu uzyskać danej funkcjonalności lub jej działania. Co gorsza, niektóre takie zmiany, które są wymagane do poprawnego działania produktu nie są nigdzie udokumentowane i nagle się okazuje że dana funkcjonalność działa, jeżeli wprowadzi się wartość X w gałęzi Y.

    Dodatkowo pojawia się kwestia skali – weź trochę większy sprzęt albo użyj go w środowisku o większym obciążeniu i gwarantuje Ci że będziesz musiał dokonać zmian w ustawieniach systemu.

    System jest ustawiany pod uśrednione scenariusze użycia i posiada jak sam piszesz mechanizmy dostosowywania się. Więc daje radę w większości przypadków.

    To od strony serwera …

    … od strony klienta – no co ja Ci poradzę że taki IE ma od wersji 6 w góre dużo opcji włączanych po prostu przez zmiany w rejestrze.

    Ale co do standardowego użycia, dla standardowego użytkownika albo takiego który nie do końca wie co robi to się zgadzam w całej rozciągłości. I tak najgorsi IMO są domorośli spece radzący wszystkim dookoła żeby zrobić registry cleanup a jak to nie pomoże to reinstall.

  13. Stary says:

    Mariusz nie do konca sie zgodze "@Łukasz: Jeśli chodzi o plik wymiany to pytanie dotyczyło serwera, więc tam problemów z dyskiem być nie powinno." bo nadal czesto firmy nie nadążają za technologia i jest tak ze Microsoft swoje a firmy z racji takiego a nie innego budżetu musza robic tak by dzialalo.

  14. Sebastian says:

    A cos takiego juz pod tuning nie mozna podciagnac ?

    msdn.microsoft.com/…/jj248719.aspx

    Ja tam nie wiem… nie znam się 🙂 początkujący jestem 🙂

Skip to main content