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.