Z poradą, która zaleca ustawienie
parametru NUMPROC w konfiguracji bootowania systemu Windows tak, by
"spowodować wykorzystanie wszystkich procesorów podczas
uruchamiania" i w ten sposób cały ten proces przyspieszyć spotkałem
się już wielokrotnie. Gdy zobaczyłem ją dzisiaj ponownie
opublikowaną przez jednego z polskich blogerów IT pomyślałem, że
tak dłużej już być nie może - czas wreszcie, by ktoś wyjaśnił, do
czego naprawdę służy ta opcja i dlaczego nie ma nic wspólnego z
przyspieszaniem bootowania.
Na początek wyjaśnienie, o co
konkretnie chodzi: są osoby, które twierdzą, że system Windows
Vista i Windows 7 podczas bootowania na komputerach
wielordzeniowych wykorzystuje tylko jeden procesor logiczny. W
związku z tym faktem wydajność bootowania rzekomo ma być obniżona.
Szczęśliwie dla osób wierzących w opisywany tutaj mit istnieje
rozwiązanie tego problemu - wystarczy udać się do narzędzia
msconfig i ustawić parametr NUMPROC (znany też jako "Liczba
procesorów" w Zaawansowanych opcjach na zakładce Rozruch) na liczbę
odpowiadającą ilości posiadanych przez nas procesorów logicznych.
Jak mamy dwurdzeniowy procesor, zaznaczamy więc tę kratkę i
ustawiamy tam dwa procesory. Jasne jak słońce.
Jeśli chcecie dobrej rozrywki, powiedzcie komuś o tym "problemie" i
jego cudowym "rozwiązaniu", po czym obserwujcie, jak sam przyzna
Wam rację i zauważy, że różnica jest odczuwalna, a system bootuje o
jakieś 30% szybciej! Jeśli nie chcecie zgrywać się ze znajomych,
wystarczy poczytać komentarze do powyższych porad, od których roi
się w Internecie polskim i światowym. W końcu nie bez powodu w
medycynie już od dawna funkcjonuje placebo - mimo tego, że jego
skuteczność trudno uzasadnić medycznie, to jednak w pewnych
sytuacjach przynosi pożądane efekty. Tak samo jest z tym
parametrem.
Parametr NUMPROC został udostępniony w menedżerze rozruchu systemu
Windows jeszcze na
długo przed pojawieniem się wielordzeniowych procesorów. Służy
wyłącznie do celów diagnostycznych lub testowych. Za jego pomocą
można ograniczyć liczbę procesorów wykorzystywanych przez system -
nie tylko podczas startu, ale przede wszystkim w trakcie pracy.
Dzięki temu można np. testować wady procesorów (przydatny jest tu
też inny parametr ONECPU, który to z kolei sprawia, że system
wykorzystuje tylko pierwszy procesor). Ustawienie tego parametru na
liczbę równą ilości procesorów zainstalowanych w systemie
spowoduje, że system będzie korzystał ze wszystkich procesorów -
dokładnie tak, jak bez tego parametru... Nie ma w tym nic dziwnego,
pozostałe parametry rozruchu pozwalają między innymi w analogiczny
sposób ograniczać pamięć RAM - starsze systemy nie uruchamiają się
z dzisiejszymi gigabajtami pamięci i trzeba im ją ograniczać
właśnie w pliku boot.ini. Również ustawienie ograniczenia ilości
pamięci RAM na zainstalowaną w systemie ilość nie spowoduje, że
komputer będzie działać szybciej. W szczególności nie spowoduje
też, że z 2 GB zrobi się 4 GB.
Mit mitem, ale wykorzystywanie przez system tylko jednego procesora
podczas rozruchu jest akurat w tej historii faktem, choć nie na
taką skalę jak twierdzą orędownicy cudownej porady - można o tym
przeczytać chociażby w książce Windows Internals Marka Russinovicha, której fragment opublikowany jest w artykule serwisu Within Windows obalającym
mit parametru NUMPROC. Wynika z niego, że podczas rozruchu najpierw
inicjowane są przerwania sprzętowe, następnie ładowany jest
sterownik graficzny używany do wyświetlania ekranu bootowania,
później inicjowane są funkcje zarządzania energią i czas systemowy.
Dopiero wtedy uruchamiany jest drugi i kolejne procesory. Nie
jestem jednak specjalnie przekonany, czy procesory te byłyby w
stanie znacząco wpłynąć na czas wykonania jakże absorbujących
procesor czynności takich jak załadowanie sterownika do
wyświetlenia loga Windows czy uruchomienie zegara.
Nie ma więc żadnego przyspieszania bootowania za darmo. Czy nie
byłoby dziwne, że Microsoft domyślnie ograniczałby wykorzystanie
procesorów i tym samym opóźniał bootowanie - proces, o którego
przyspieszenie zabiega się przy każdej kolejnej edycji Windows, po
czym okazuje się, że nadal jest zdecydowanie zbyt wolny? Czas
wrócić do rzeczywistości. W IT nie ma miejsca na magiczne
sztuczki.