Prefetch i Superfetch na dyskach HDD i SSD
Microsoft ciągle poprawia, kombinuje i niejednokrotnie testuje swoje sposoby na przyspieszenie i usprawnienie systemu Windows. Windows 10 według moich obserwacji jest i tak szybszy niż Windows 7 czy 8, chociaż w sieci krąży tysiące plotek jako, iż Windows 10 jest bardziej zasobożerny i ma masę zbędnych funkcji.
Racja, iż Windows 10 ma niektóre funkcje włączone standardowo, które są zasobożerne i potrafią spowolnić system. Na szczęście możemy w dosyć łatwy sposób je wyłączyć. W tym wpisie zajmiemy się takim czymś jak „Prefetch” i „Superfetch” (SysMain)
Czym jest Prefetch?
Jest to funkcja, która poddaje analizie uruchamiane usługi i programy, a także analizuje uruchamiane aplikacje (jak często, kiedy itp.). Na podstawie analizy tworzy listę aplikacji/usług (skrótów, pliki *.pf), które mają uruchamiać się w pierwszej kolejności oraz sama ta lista ma odciążyć CPU od „myślenia” co pierwsze uruchomić. To tak napisane dosyć łopatologicznie, ale nie chcę się zagłębiać w szczegóły działania Prefetch.
Prefetch dla HDD
Prefetch jest standardowo włączone i dobrze, gdyż opcja ta po jakimś czasie przyspiesza uruchamianie systemu, jeśli posiadamy dysk HDD, ale…
… oczywiście jest, ale, które polega na tym, że jeśli na starcie systemu uruchamiamy kilkanaście innych programów każdego dnia to taka „lista usług i aplikacji”, które mają pierwszeństwo do uruchamiania, staje się błędna, przez co start systemu może się wydłużyć.
Mając dysk HDD, opcję Prefetch zostaw włączoną, jeśli każdego dnia (lub w większości uruchomień komputera) w czasie uruchamiania sprzętu korzystasz z tych samych aplikacji. Możesz od czasu do czasu wyczyścić, ale pamiętajże start systemu, może z początku trwać znacznie dłużej.
Prefetch dla SSD
Z moich obserwacji wynika, iż funkcja ta jest zbędna dla dysku SSD, gdyż te działają na innej zasadzie niż talerzowce (dyski HDD) i wyłączenie tej opcji nie ma wpływu na uruchamianie systemu. Wyłączając Prefetch, możemy przy okazji zyskać kilka MB miejsca na dysku.
Wyłączanie Prefetch
W celu wyłączenia Prefetch należy uruchomić rejestr, wykonując wcześniej jego kopię zapasową – Kopia zapasowa rejestru
W rejestrze przechodzimy kolejne po gałęziach
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Po prawej stronie z listy kluczy wybieramy „EnablePrefetcher” i klikając dwukrotnie, modyfikujemy jego zawartość.
Do wyboru mamy cztery opcje.
0 – prefetch wyłączony,
1 – usługa włączona dla startu systemu,
2 – usługa włączona dla uruchamianych programów.
3 – wartość domyślna – usługa odpowiada zarówno za system jak i programy.
Wybieramy wartość, która nam odpowiada (dla dysku SSD proponuję „0” a dla HDD zostawić „3”).
W celu zatwierdzenia opcji klikamy OK i uruchamiamy ponownie komputer.
Czym jest Superfetch (SysMain) ?
Superfetch to próba przyspieszenia systemu poprzez rezerwowanie pamięci RAM na przyszłe uruchomione programy, które system próbuje przewidzieć. Druga sprawa Superfetch ma związek także z indeksowaniem i buforowaniem CPC oraz dane aplikacji i systemu, przez co nieużywany komputer może być obciążony przez tę właśnie funkcję.
Superfetch dla HDD i SSD
Zarówno dla dysków HDD jak i SSD proponuję tę opcję wyłączyć, oszczędzając tym samym baterię (w przypadku laptopa), RAM oraz co jest ważne, odciążając czasami znacząco dysk twardy i procesor.
Wyłączanie Superfetch (SysMain)
Aby wyłączyć Superfetch najlepiej, abyśmy wykonali dwie rzeczy,
Pierwszą z nich jest wyłączenie usługi SysMain. Kliknij prawym przyciskiem myszy na ikonkę „Ten komputer” (Brak ikonki? Zobacz Jak ustawić ikonki na pulpicie) i z dostępnych opcji wybierz „Zarządzaj”.
Teraz z nowo pokazanego okna, z lewej strony wybierz opcję „Usługi i aplikacje”, a następnie „Usługi”. Z listy po prawej stronie wyszukaj „SysMain” i kliknij dwukrotnie na usługę.
Z opcji „Typ uruchomienia” wybierz „Wyłączony”, zatwierdź za pomocą „Zastosuj” i „OK”.
Druga rzecz, jaką powinniśmy wykonać to zmienić wartość „EnableSuperfetch” w gałęzi
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
EnableSuperfetch ustawiamy na 0.
Jeśli nie ma takiego klucza, tworzymy go, klikając prawym przyciskiem myszy na puste miejsce po prawej stronie, wybierając z dostępnych opcji „Nowy” – „Wartość DWORD (32 – bitowa)”. Nazywamy „EnableSuperfetch” (bez cudzysłowu oczywiście), klikamy ENTER. Klikamy dwukrotnie na stworzony klucz, wybieramy System szesnastkowy i wpisujemy 0.
To wszystko, uruchamiamy ponownie komputer.