SuperFetch (SysMain) i Prefetch to technologie zarządzania pamięcią masową Windows (dosyć stare), które zapewniają szybki dostęp do danych na tradycyjnych dyskach twardych HDD. Na dyskach półprzewodnikowych SSD prowadzą one do niepotrzebnych operacji zapisywania.
Gdy uruchamiamy aplikację na komputerze, system operacyjny Windows tworzy plik pobierania wstępnego .pf, który zawiera informacje o plikach załadowanych przez aplikację. Plik prefetch służy do optymalizacji czasu ładowania aplikacji przy następnym uruchomieniu.
Gdy posiadamy dysk SSD nie ma to żadnego znaczenia, aplikacje i tak szybko się uruchamiają.
SuperFetch (SysMain) próbuje przewidzieć, które aplikacje zostaną uruchomione i załaduje wszystkie niezbędne dane do pamięci. Jego algorytm przewidywania jest lepszy i może przewidzieć, która z następnych aplikacji 3 rozpocznie się o jakiej porze dnia.
Tylko czy takie przewidywanie i rezerwowanie pamięci RAM ma sens ? Uruchamianie naszych aplikacji z dysku SSD NVMe trwa bardzo szybko i dodatkowe prognozowane i buforowanie wydaje się bezsensowne.
Gdy mamy dysk HDD zostawmy te funkcje (SuperFetch, Prefetch) włączone.
W przypadku dysków SSD możemy się zastanowić i sprawdzić czy wyłączenie tych funkcji wpływa na szybkość działania naszego komputera.
Wyłączamy Prefetch
1. Wykonajmy kopie zapasową rejestru, następnie uruchamiamy Edytor rejestru (regedit.exe) z uprawnieniami Administratora.
2. Przechodzimy do gałęzi Memory Management i następnie w PrefetchParameters ustawiamy klucz "EnablePrefetcher" na zero.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Z ciekawostek, to wartość Klucza EnablePrefetcher może przyjmować różne wartości:
0 - wyłączony Prefetch (tak ustawiliśmy),
1 - usługa włączona tylko dla startu systemu,
2 - usługa włączona dla uruchamianych programów,
3 - usługa włączona dla startu systemu jak i uruchamianych programów (wartość domyślna).
3. Na koniec restartujemy komputer, żeby zmiany w systemie zostały wykonane.
Wyłączamy SuperFetch (SysMain)
Ażeby wyłączyć tą funkcję musimy wykonać dwie czynności.
Wyłączyć usługę SysMain (SuperFetch) w systemie operacyjnym oraz wyłączyć ją w rejestrze systemu.
1. W polu wyszukiwania wpisujemy polecenie "services" i uruchamiamy Usługi.
2. Wyszukujemy usługę SysMain i zatrzymujemy ją oraz ustawiamy Typ uruchomienia na "Wyłączony"
To usługę SysMain mamy już wyłączoną, teraz przechodzimy do rejestru.
3. Uruchamiamy Edytor rejestru z uprawnieniami Administratora (regedit.exe)
(Jak zwykle przed zmianami warto wykonać kopię rejestru.)
4. Przechodzimy do gałęzi Memory Management i następnie PrefetchParameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
i dodajemy klucz (jeśli go nie ma) "EnableSuperfetch" i ustawiamy jego wartość na zero.
Klikamy prawym klawiszem w pustym miejscu po prawej stronie okienka i pokazuje nam się menu: Nowy – wybieramy Wartość DWORD (32 – bitowa)
i nadajemy nazwę: EnableSuperfetch
która domyślnie będzie miała wartość 0, i tak ma zostać.
Następnie restartujemy komputer w celu zastosowania zmian.
Tu można kupić system Windows 10 Home:
Tu można kupić system Windows 10 Pro: