Uruchamianie Windows: autostart i prefetch
Każdy program, który startuje razem z systemem, niezależnie od tego, czy jest nam potrzebny, czy też nie, zajmuje cenne zasoby systemowe. Kilka takich programów może stanowić niemałe obciążenia zwłaszcza dla mniej wydajnych komputerów. Wiele aplikacji bez pytania o zgodę dodaje swoje wpisy do rejestru lub innym miejscu odpowiedzialnym za funkcję autostartu. Również liczne wirusy i inne paskudztwa starają się zaszyć niepostrzeżenie między takimi programami. Trzeba temu zjawisku powiedzieć nie (!).
Zamykanie każdej aplikacji po starcie systemu jest zbyt czasochłonne, dlatego trzeba dokonać ingerencji w ustawienia systemu.
Można oczywiście użyć Narzędzia konfiguracji systemu [Menu Start – Uruchom – wpisz msconfig – zakładka Uruchamianie], ale są lepsze programy! Msconfig jest niestety mało funkcjonalny. Program autoruns, to bardzo zaawansowane narzędzie, ale dzięki prostemu interfejsowi doskonale sprawdzi się w każdym XP. Jest to jedno z dzieł Sysinternals.com , znanego ze znakomitych programów, za których jakość ręczy sam Mark Russinovich, światowy autorytet w dziedzinie systemów operacyjnych.
Teraz masz przed sobą spis programów ładowanych przez system przy każdym starcie. Sporo tego…, a większość niepotrzebna. W gruncie rzeczy możesz wyłączyć wszystko poza plikami odpalanymi przez system [Microsoft Windows Publisher w polu Publisher], antywirusem i firewallem. Jeżeli komputer nie jest połączony z Internetem to i firewall jest zbędny. Jeżeli twój antywirus ma opcję sprawdzania jedynie danych przychodzących z Internetu, warto ją uaktywnić zamiast całego modułu „Auto Protect”. Przyspieszy to znacznie i dysk i cały system. Gdy stwierdzisz, że jakiś program jest jednak cały czas niezbędny (lub nie chce Ci się go ciągle odpalać ręcznie) po prostu zaznacz pole w kwadraciku.
Możesz też użyć znakomitego programu, który jest o wiele bardziej funkcjonalny niż polecenie 'msconfig’. Innym wartym polecenia programem jest StartupCPL 2.8. Nie posiada on tak imponujących możliwości odnajdywania plików ładowanych podczas startu systemu, ale ma inną wielką zaletę. Daje on możliwość łatwego dodawania nowych programów do listy uruchamianych przy starcie systemu. Jest to bardzo praktyczna funkcja, która pozwoli zaoszczędzić czas i nerwy podczas każdorazowego uruchamiania niezbędnego programu. Po instalacji w Panelu Sterowania (widok klasyczny) pojawi się nowa ikona – 'Startup’.
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run],
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce],
- [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],
- [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce].
Koniecznie przejrzyj też zawartość folderów, w których znajdują się skróty aplikacji, które zostaną uruchomione przy starcie systemu:
- C:\Documents and Settings\ nazwy katalogów poszczególnych użytkowników\ Menu Start\ Programy\ Autostart,
- C:\Documents and Settings\ All Users\ Menu Start\ Programy\ Autostart,
- C:\Documents and Settings\ Default User\ Menu Start\ Programy\ Autostart.
Prefetch
W niepozornym katalogu C:\WINDOWS\ Prefetch Microsoft ukrył potężne narzędzie do optymalizacji systemu. W owym katalogu zapisuje m. in. dane plików, które są ładowane bezpośrednio przy starcie systemu. Jak łatwo sobie wyobrazić, aplikacje dzięki temu uruchamiają się szybciej. Mechanizm prefetch-u [czy też prefetchingu] może zarówno przyspieszyć jak i czasami nieco zwolnić działanie systemu. Warto więc bliżej się z nim zapoznać i wykorzystać jego możliwości do maksimum.
Jak działa prefetch?
Jest to mechanizm, który zbiera informacje o plikach niezbędnych do uruchomienia danej aplikacji, a następnie zapisuje te informacje w plikach z rozszerzeniem .pf.
Przykład: aby poprawnie działał program do edycji tekstu potrzebne są między innymi czcionki, które system musi załadować do pamięci. Zaletą prefetch-u jest to, że po uruchomieniu Worda Windows nie musi każdorazowo analizować, jakie czcionki i inne pliki muszą zostać załadowane do pamięci, wystarczy, że zrobił to raz i zapisał odpowiednie wartości w pliku .pf, który staje się w ten sposób czymś w rodzaju scenariusza. W katalogu Prefetch wiele plików ma znajome nazwy np.: winamp…pf, opera…pf, msconfig…pf, są to właśnie scenariusze dla tych programów. Windows nieustannie monitoruje również „stare” programy, aby w razie potrzeby dodać nowe wpisy do pliku scenariusza. Niestety nie kasuje samodzielnie już zbędnych scenariuszy.
Jest to wada tego mechanizmu, z którą można na szczęście walczyć.
Cały mechanizm działa na zasadzie pobrań wyprzedzających żądanie uruchomienia aplikacji. Oznacza to, że niezależnie od tego, czy uruchomimy dany program, czy też nie, Windows będzie zawsze gotowy, aby uruchomić go w szybkim tempie, niestety kosztem pamięci operacyjnej. Część zawartości katalogu Prefetch jest domyślnie ładowana do pamięci podczas startu systemu [od kilku do kilkunastu MB]. Oprócz tego swojej porcji zasobów domaga się monitor tworzący scenariusze.
Dla ścisłości należy dodać, że prefetch jest silnie powiązany z nowatorskim mechanizmem Layout Optimailization. więcej w dziale defragmentacja.
Cały mechanizm skonstruowany jest tak, aby wszystkie pliki, które ładują aplikacje podczas startu systemu były optymalnie rozmieszczane na dysku. Szybszy start systemu uzykujemy dzięki współpracy prefetchu, Layout Optimailization i… systemowego defragmentatora. Prefetch tworzy plik NTOSBOOT…pf, Layout Optimailization zbiera informacje o rozmieszczeniu na dysku plików, które są zapisane w NTOSBOOT…pf, natomiast dfrg.msc traktuje je jako bootfiles i stara się ustawić je w jednym ciągu klastrów. Niestety dfrg.msc robi to nieudolnie: pliki lądują najczęściej w środku lub na końcu partycji i nie tworzą zwartego obszaru danych. Cóż, lepsze to niż pozostawienie ich na powierzchni całej partycji.
Plik Layout.ini znajduje się w katalogu Prefetch.
- Ciekawostka: Zachwalany przez wielu BootVis nie jest niczym nadzwyczajnym. Powtarza on te same czynności, które normalnie wykonuje system. Po prostu przenosi bootfiles za pomocą procedur dfrg.msc na początek partycji. Z tego powodu Microsoft w oficjalnych wypowiedziach odradza jego stosowanie BootVis jako optymalizatora.
Bootvis zrobił niemałą karierę, ze względu na swoją skuteczność. Dobrze wiedzieć, że jego możliwości posiada każdy XP. Kariera ta była również możliwa dzięki niewiedzy większości użytkowników, którzy z miejsca skreślili systemowy defragmentator. Niesłusznie, gdyż poza obsługą Layout Optimailization potarafi on również defragmentować MFT w trybie online (na partycjach z systemem plików NTFS). Tego nie potrafi żaden komercyjny program.Oczywiście, to co optymalizuje system możemy zooptymalizować sami i to w sposób o wiele skuteczniejszy. więcej w dziale defragmentacja
Prefetch jest sterowany za pomocą modyfikacji rejestru. W gałęzi [HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Session Manager\ MemoryManagement\ PrefetchParameters] wartość 'EnablePrefetcher’ określa w jaki sposób ma funkcjonować cały mechanizm:
- 0 – wyłączony
- 1 – tworzy scenariusze tylko dla aplikacji
- 2 – start systemu [aplikacje odpalane przy starcie – całość jest zawarta w jednym pliku: NTOSBOOT…pf]
- 3 – aplikacje i start systemu [wartość domyślna]
Optymalizacja
- Warto raz na miesiąc skasować zawartość katalogu. Pozwoli to pozbyć się scenariuszy, po odinstalowanych lub tylko raz użytych aplikacjach. Po za tym plik NTOSBOOT…pf zostanie zapisany od nowa i znikną z niego stare wpisy. Nie należy tego robić zbyt często, gdyż system będzie musiał od nowa tworzyć swoją bazę danych i w rezultacie stracimy, a nie zyskamy.
- Pierwszy start systemu i aplikacji po usunięciu ich plików .pf jest zawsze wolniejszy! Nie zwracajcie uwagi na czas przewijania paska w logo systemu, lecz na czas po którym system zaczyna szybko odpowiadać na działania użytkownika. Innymi słowy, kiedy przestanie kręcić dyskiem i klepsydrą na pulpicie.
- Ważne – nie kasuj pliku teraz 'Layout.ini’!
Skasowanie tego pliku niszczy cały mechanizm przyspieszania startu systemu. Bez niego systemowy defragmentator Perfect Disk i O&O Defrag 8, jedyne komercyjne programy, które jest w stanie odczytać te informacje, nie będą w stanie przenieść potrzebnych plików na początek partycji systemowej. Pozostaną one porozrzucane, po całej partycji. Start systemu nie będzie tak szybki, jak mógłby być.
Chciałbym dokonać pewnych sprostowań
- W sieci krążą opowieści o tym, że prefetch przyspiesza ogólną wydajność systemu o 10%. Te opowieści są wyssane z palca. Prefetch przyspiesza tylko i wyłącznie start aplikacji i systemu, nie zwiększa bezpośrednio szybkości działania systemu. Jest to typowe rozwiązanie zwiększające komfort pracy. Oczywiście dzieje się to kosztem zasobów systemowych, zarówno Ram-u jak i czasu procesora potrzebnych na nieustanny monitoring. Dlatego wyłączenie prefetch-u [co jednak odradzam] daje najlepszą ogólną wydajność, kosztem kilku sekund podczas startu systemu i poszczególnych aplikacji.
- Wiele poradników proponuje, aby do skrótów aplikacji dodawać linijkę '/prefech:1′, co ma rzekomo zmusić XP, aby stworzył scenariusz dla tego programu. Ktoś kto wymyślił taki trick powoływał się na istnienie takiego dopisku w skrócie Windows Media Playera. Spostrzeżenie słuszne, krytycyzm zawiódł. Windows sam tworzy scenariusze dla każdego raz uruchomionego programu. Potrzebujesz dowodu? Otwórz folder C:\WINDOWS\ Prefetch i uruchom jakiś program, który nie ma swojego scenariusza, a potem go wyłącz. Po chwili w katalogu pojawi się nowy scenariusz.
Przekłamanie?Wiele poradników optymalizacji Windows zaleca ustawienie wartości EnablePrefetcher na 5, co ma być wartością optymalną. Problem polega na tym, że nigdzie w zasobach Internetu nie mogłem znaleźć opisów funkcjonowania parametrów: 4, 5, 6, 7, o których milczy Microsoft. Ponieważ nie mogę zagwarantować, że wartość 5 zadziała [co nie jest wykluczone, jednak spotkałem się już z opinią, że spowalnia ona, a nie przyspiesza start systemu] odradzam używanie parametrów innych niż: 0, 1, 2, 3. Jeśli ktokolwiek ma przekonywujące dowody na skuteczność innych wartości, zachęcam do dyskusji. mail |
Kiedy prefetch może być szkodliwy?
Teoretycznie cały mechanizm może tylko przyspieszyć działanie systemu [w sensie skrócenia czasu startu systemu i aplikacji], jednak w pewnych okolicznościach, może być odwrotnie. Jeżeli masz mało pamięci, a system ładuje domyślnie wiele scenariuszy może łatwo zapchać Ram. W przypadku komputerów wyposażonych w mniej niż 256 MB Ram-u można zmienić wartość EnablePrefetcher na 2. Dzięki temu system przestanie monitorować otwierane programy i nie załaduje plików .pf odpowiedzialnych za start wielu aplikacji. W ten sposób system zachowa pełną szybkość startu [do używania prefetch-u działającego na pełnych obrotach zalecany jest komputer z procesorem minimum 1 GHz i 256 MB Ram-u]. Całkowite wyłączenie prefetch-u mogę polecić tylko osobom dysponującym naprawdę słabym sprzętem – procesor do 500 MHz i 128 MB Ram-u.
Spis treści: Uruchamianie Windows: autostart i prefetchSłowa kluczowe: prefetch, windows prefetch
następny fajny opis ale trochę małoszczegółowy „wyczyścić prefetch a później bez Layout.ini ” a jeśli już go nie ma,został usunięty wraz z zawartością pref to co dalej . wim że na wstępie jast zawsze zrób kopię, ostrożnie ze zmianami – może mi ktoś podpowie jak Layout.ini już nie ma dzięki pozdrawiam gcu (mój adres zxc111@op.pl
No właśnie, też skasowałem Layout.ini i teraz katalog perfeth jest pusty,NTOSBOOT.pf nie tworzy się samoczynnie jak jest w innym artykule,co robić?
właśnie! jak przywrócicć "Layout.ini" ?
jest łatwy sposób na przywrócenie layaut.ini – przeinstalowanie systemu;)
Należy wymusić przebudowanie pliku layout.ini, wpusując w polu "Uruchom" Menu start następującą komendę:
Rundll32.exe advapi32.dll,ProcessIdleTasks
wpisałem komendę jak wyżej i nadal niema pliku layout i pliku pf. co można jeszcze zrobić
odnośnie artykułu napisany obszernie, wyjaśnia wiele spraw,
brakuje tylko wyjaśnień niemożliwości odzysku pliku layout i pf
"Należy wymusić przebudowanie pliku layout.ini, wpusując w polu "Uruchom" Menu start następującą komendę:
Rundll32.exe advapi32.dll,ProcessIdleTasks"
Pomiędzy advapi32.dll a ProcessIdleTasks nie ma przecinka. Wtedy stworzy się layout.ini
W większości ten artykuł mija się z prawdą. Nie należy kasować zawartości katalogu Prefeth gdyż pliki nie zostaną przywrócone automatyczni i mechanizm przestanie działać.
Nie dla wszystkich programów tworzony jest secenariusz w katalogu Prefetch, uruchom jakiś rzadko używany program a zauważysz, że nie został dla niego utworzony scenariusz. Ta porada być może ma zastosowanie dla WinXP bez ServicePacków lub dla SP1, ale jest zupełnie nieprzydatna dla WinXP z SP2
Jeżeli komenda Rundll32.exe advapi32.dll ProcessIdleTasks nie działa, to należy ponownie uruchomić usługę Harmonogram zadań, ponownie, czyli mimo iż usługa działa należy wybrać opcję uruchom ponownie. Funkcja Prefetch nie działa z wyłączoną usługą Harmonogram zadań.
odnośnie prefeth Cyfrowy Baron napisał że to się nie sprawdza w winxp sp2 otóż ja mam taki system i u mnie wszystko gra więc skąd to podejrzenie że w xp z sp2 nie działa?