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
To 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ń.
Natomiast 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 :)