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

  • Anonymous
    January 01, 2003
    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 :)

  • Anonymous
    January 01, 2003
    @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 www.youtube.com/watch), ale nadal - dokumentacji brakuje ;-)

  • Anonymous
    January 01, 2003
    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 ;)

  • Anonymous
    January 01, 2003
    @Ł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 :)

  • Anonymous
    January 01, 2003
    @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 :)

  • Anonymous
    January 01, 2003
    @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... :)

  • Anonymous
    January 01, 2003
    @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.

  • Anonymous
    January 01, 2003
    @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ę.

  • Anonymous
    January 01, 2003
    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? ;>

  • Anonymous
    April 09, 2013
    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.

  • Anonymous
    April 09, 2013
    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ą ;)

  • Anonymous
    April 09, 2013
    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.

  • Anonymous
    April 09, 2013
    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.

  • Anonymous
    April 13, 2013
    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 :)