Optymalizacja systemu Windows XP/Pamięć wirtualna

Z Wikibooks, biblioteki wolnych podręczników.

Pamięć wirtualna to bardzo szerokie pojęcie mylnie sprowadzane tylko do obecności jej pliku. W istocie pamięć wirtualna to plik wymiany (aka stronicowania) + zainstalowany fizycznie RAM. W tej części opracowania zajmiemy się plikiem a jest nim pagefile.sys

Ustawienia pamięci wirtualnej[edytuj]

Panel sterowania --> System --> Zaawansowane

W sekcji Wydajność klikasz w Ustawienia, i wybierasz Zaawansowane --> Pamięć wirtualna --> Zmień

Podajesz partycję lub dysk na którym ma się znajdować plik wymiany i określasz jego rozmiar. Klikasz przycisk Set (Ustaw). Potwierdzasz + reset by zmiany zostały zatwierdzone. Możemy dobrać następujące kombinacje rozmiaru:

Rozmiar niestandardowy - Sam dobierasz parametry rozmiaru początkowego i końcowego: Rozmiar początkowy - wielkość pliku tworzona przy starcie systemu, pozostanie stała o ile system nie będzie potrzebował więcej

Rozmiar maksymalny - maksymalna granica do której może się powiększyć plik

Rozmiar kontrolowany przez system - System dobiera parametry pliku za ciebie według modelu, że rozmiar początkowy jest o połowę większy od RAMu

Bez pliku stronicowania - Wyłącza plik wymiany na wybranym dysku.

Dobranie rozmiaru[edytuj]

Zmiany potencjalnie niebezpieczne!

Dynamiczny czy statyczny?[edytuj]

Domyślna konfiguracja Windows zakłada dynamiczne zwiększanie/zmniejszanie się rozmiaru pliku wymiany stosownie do potrzeb uruchamianych aplikacji. Można to zauważyć np. grając intensywnie w gry kiedy to w 'tajemniczy' sposób znika nam miejsce na dysku. Tylko reset komputera przywraca ten plik do poprzedniego rozmiaru. Zmienny rozmiar pamięci wirtualnej może wpływać niekorzystnie na wydajność. Na dysku o sporej fragmentacji danych operacja zwiększania - zmniejszania trwa dłużej. Efektem jest wolniejsza praca dysku, a nawet przerwanie ciągłości plików. Starym tweakiem proponowanym na tę okoliczność jest wprowadzenie ustawienia zakładającego "sztywny plik" który nie zmienia rozmiarów i nie przekroczy określonej pojemności:

Rozmiar początkowy = Rozmiar maksymalny

Z drugiej strony można takim ustawieniem narobić sobie szkody jeśli nieprawidłowo dobierze się rozmiar. Identyczny niemal skutek nie rozciągłości pliku pagefile.sys możemy uzyskać sprytnie dobierając parametr rozmiaru początkowego. Może on okazać się wystarczający dla systemu i plik nie wzrośnie ponad rozmiar początkowy pomimo zostawienia komfortowego zapasu na "w razie czego".

Ile?[edytuj]

Windows XP domyślnie ustawia rozmiar początkowy jako 1.5 x RAM a rozmiar maksymalny jako 3 x RAM. Np. dla RAM 256 MB min= 384 MB a max=768 MB. Te wartości domyślne często sprawdzają się lecz są one zbyt sztywno obliczone. Konsekwencją może być dobranie zbyt małego lub zbyt dużego pliku. Bo logiczne jest że na podstawie tego modelu liczenia ci z małą ilością RAM uzyskają mniejszy plik niż ci z dużą ilością RAM. A w zasadzie powinno być na odwrót:

Im mniej RAM'u masz tym większe prawdopodobieństwo intensywnego korzystania z pliku pamięci wirtualnej. Jeśli masz poniżej 512 MB w zasadzie powinieneś zostawić ustawienia domyślne. Im więcej RAM'u masz tym mniejsze prawdopodobieństwo intensywnego korzystania z pliku pamięci wirtualnej. W takim układzie domyślne ustawienie rozmiaru początkowego pliku jest grubo przesadzone i konsumuje za dużo miejsca na dysku bez realnej potrzeby. Jeśli masz 512 MB RAM i wyżej ustaw rozmiar początkowy jako połowę RAM przy pozostawieniu rozmiaru maksymalnego jako potrójność RAMu ..... tak na wszelki wypadek.

Powyższe dywagacje są dość teoretyczne i niby uniwersalne. W praktyce jednak wszystko zależy od przeznaczeń komputera. Pecet z przeglądarką i komunikator a pecet jako studio grafiki i video to przepaść w skali przemiału pamięci.

Zbyt niska?[edytuj]

Jeżeli jest na wyczerpaniu to wszystko pracuje przeraźliwie wolno zacinają się gry, długo czekamy na "reakcję" programu itd. Potem przy 90% zajętej pamięci wyskakuje komunikat ze jest jej zbyt mało lub brak. Po tym komunikacie te aplikacje które doprowadziły do jej braku powinny zostać zamknięte automatycznie. Gdy wyczerpie się pozostały zapas pamięci wirtualnej otrzymamy - totalne zawieszenie komputera lub BlueScreen i wyjściem jest tylko restart. Całkowity brak pamięci wirtualnej to wynik albo nieprawidłowego dobrania rozmiaru albo błędów w działaniu programów.

Zbyt wysoka?[edytuj]

Masz zapas. W teorii nigdy się ona nie wyczerpuje. W praktyce limituje cię tylko rozmiar dysku bo przecież jest to plik. Jeżeli rozmiar pliku jest wyższy niż wolne miejsce na dysku to pojawi się prawdopodobnie zestaw błędów typu: "Scratch disk is full", "Cannot write to dysk", "Disk is full".... i inne kombinacje z błędem zapisu i pełnym dyskiem. Bardzo wysoko ustawiony rozmiar tego pliku bez realnej potrzeby jest marnowaniem przestrzeni dysku. Samo korzystanie z ogromnego pliku pamięci wirtualnej spowalnia pracę całego systemu bo nawet najszybsze dyski twarde nie dorównują szybkością pamięciom RAM. Miej to na uwadze...

Brak pliku stronicowego?[edytuj]

Jeśli jesteś w stanie stwierdzić, że ilość pamięci RAM jaką posiadasz jest wystarczająca (np. 3GB i więcej) lub używasz komputera do prostych zadań, lub po prostu chcesz przyspieszyć pracę dysku, usunięcie pliku stronnicowania oznacza duży wzrost wydajności. System przestaje korzystać z dysku twardego jako pamięci, który jest najwęższym gardłem w wydajności komputera. Należy zwrócić uwagę na fakt, że jeśli zużycie RAM w naszym komputerze sięga 900MB, a mamy zainstalowane 1GB RAM, usunięcie pamięci wirtualnej może powodować bardzo niestabilną pracę systemu!

Lokalizacja[edytuj]

Podstawowe wymagania

Ustawień tego pliku należy dokonywać na dysku, który:

1. Jest zdefragmentowany 2. Ma wystarczającą ilość wolnego miejsca 3. Nie jest skompresowany!

Umieszczenie pliku na szybszej partycji/dysku

Plik ten powinien być na szybszej partycji/dysku. Sytuacje:

1 dysk - kilka partycji: Jak masz tylko 1 dysk ale 2 lub większą ilość partycji to powinno się umieścić pagefile.sys na systemowej, C ponieważ jest szybsza.

2 dyski: Jeśli masz 2 dyski, to się umieszcza pagefile.sys na szybszym dysku. Wtedy tworzymy dla tego pliku pierwszą w kolejności partycje stosownego rozmiaru. W bardzo szczególnym przypadku może pojawić się problem z obecnością pliku na innym od systemowego dysku. Jego objawem będzie albo komunikat o małej ilości pamięci wirtualnej pomimo prawidłowych ustawień lub też stworzenie klona o niekontrolowanym rozmiarze na partycji systemowej. Obejściem tego "konfliktu" jest wprowadzenie dodatkowo na partycji systemowej malutkiego pliku o minimalnym rozmiarze 2 MB.


Podzielenie pliku pamięci wirtualnej na kilka dysków

Bardzo dobrym rozwiązaniem podnoszącym wydajność, jest podzielenie pliku na kilka osobnych dysków (nie partycji na jednym dysku!). Rozwiązanie takie zapewnia równoczesny odczyt danych z każdego z plików wymiany co bardzo przyśpiesza. Takie pliki wymiany nie będą się dynamicznie powiększać z obłędną szybkością jak w przypadku pojedynczego pliku! Ustawiamy wtedy rozmiar początkowy owych plików wymiany jako wynik podzielenia obecnego rozmiaru pliku przez ilość tworzonych plików wymiany. Np. rozmiar początkowy obecnego pliku jest równy 384 MB, a po utworzeniu 2 plików na dwóch dyskach każdy z nich otrzyma po 192 MB.