Systemy operacyjne

Ustawienia pamięci wirtualnej w Windows

pamięć ram

W domyślnej konfiguracji Windows sam ustala rozmiar pliku stronicowania (pagefile.sys), który uzależniony jest od ilości zainstalowanej pamięci RAM. Obecnie nikogo nie dziwią wielkości RAM rzędu 4-8 GB, jest to standard jak na dzisiejsze czasy. Łatwo sobie wyobrazić, że przy takim poziomie pamięci system zawyży rozmiar pliku wymiany, co może przyczynić się do zmarnowania nawet kilku gigabajtów powierzchni dysku. Nie musimy godzić się z tą sytuacją, możemy ręcznie zmodyfikować ustawienia i dopasować je tak, aby maksymalnie zoptymalizować rozmiar.

Co to jest pamięć wirtualna w Windows?

Pamięć wirtualna w Windows to mechanizm, który umożliwia systemowi operacyjnemu przypisanie i wykorzystanie większej ilości pamięci operacyjnej niż jest fizycznie dostępna. Dzięki temu programy, które wymagają więcej pamięci RAM, nadal mogą działać, ponieważ system przenosi ich nieaktywną część na dysk twardy. W ten sposób programy te mają wrażenie posiadania większej ilości pamięci, niż jest jej faktycznie dostępna. Można powiedzieć, że jest to pewnego rodzaju oszukanie systemu i aplikacji, jednak wszystko z myślą o użytkowniku i komforcie użytkowania.

Pamięć wirtualna działa na zasadzie wirtualizacji fizycznej pamięci, gdzie każdy proces w danym momencie wykorzystuje tylko część fizycznej pamięci operacyjnej. Zastosowanie pamięci wirtualnej jest szczególnie ważne w sytuacjach, kiedy uruchamiamy wiele programów jednocześnie lub wymagającą grę komputerową, bądź duży plik w aplikacji graficznej. W przypadku braku pamięci operacyjnej, system operacyjny zaczyna przeszukiwać procesy, które nie są obecnie używane i może przenieść je do pamięci wirtualnej, oszczędzając w taki sposób cenne zasoby pamięciowe.

System operacyjny standardowo ustawia rozmiar pamięci wirtualnej na 1,5-krotność pamięci operacyjnej dostępnej na komputerze. Jednakże, rozmiar ten można zmienić zależnie od potrzeb użytkownika. W ustawieniach pamięci wirtualnej istnieją dwa parametry, które warto dostosowywać zależnie od swoich potrzeb. Pierwszym z nich jest rozmiar pamięci wirtualnej. W dalszej części artykułu podpowiemy, na jaką wartość ją ustawić. Pamiętajmy jednak, że jeśli używamy wielu programów jednocześnie i chcemy zachować pełną wydajność i niezawodność, warto rozważyć zwiększenie fizycznie dostępnej pamięci RAM, aniżeli opierać się na pamięci wirtualnej.

Rozmiar pliku wymiany, stały czy zmienny?

System operacyjny ustawia plik stronicowania na zmienny rozmiar. Konkretniej mówiąc ustalany jest minimalny i maksymalny rozmiar swap. Początkowo rozmiar pliku pagefile.sys równa się wartości minimalnej, w trakcie użytkowania systemu i aplikacji następuje stopniowe zwiększenie rozmiaru pliku, niestety często powoduje to znaczące obciążenie dysku, co w niektórych sytuacjach może uniemożliwiać komfortową pracę.

Można temu zapobiec poprzez ustawienie stałego rozmiaru pamięci wirtualnej. Wtedy to bez względu na zmieniające się zapotrzebowanie, plik nie będzie podlegał rozszerzaniu. Zaletą takiego rozwiązania oprócz wyżej opisanego, jest także zmniejszenie stopnia fragmentacji plików.

Można by wymienić wiele zalet stosowania stałego pliku wymiany, jednakże takie rozwiązanie niesie ze sobą jeden problem. W przypadku wykorzystania całej pamięci wirtualnej system odmówi posłuszeństwa, wszelkie niezapisane dane zostaną utracone. Dlatego też niezmiernie istotną rzeczą jest ustalenie bezpiecznego pułapu, który zagwarantuje, że pamięć szybko się nie wyczerpie. Oczywiście przy większych pojemnościach RAM rzadko kiedy spotkamy się z tą krytyczną sytuacją, jednakże należy mieć na uwadze powyższą przestrogę.

Przykładowe ustawienia pamięci wirtualnej w systemach Windows 7/Vista/XP

Jakie ustawienia są najodpowiedniejsze? Nie jest łatwo odpowiedzieć na to pytanie. Rozmiar pliku stronicowania uzależniony jest nie tylko od ilości pamięci RAM, lecz także od architektury i rodzaju systemu oraz sposobu jego użytkowania. Poniższa tabela pokazuje przykładowe ustawienia swap, uwzględniając podział uwarunkowany ilością RAM, prognozowanym wykorzystaniem pamięci, rodzajem systemu operacyjnego (w przykładzie tylko architektura x86 została uwzględniona). Ponieważ systemy 32 bitowe mają nieco mniejsze wymagania, należy przyjąć, że wartość dla systemów x64 powinna być wyższa o kilkanaście procent.

Ustawienia pamięci RAM w Windows - techformator.pl
Ustawienia RAM

Objaśnienia:

  • RAM [MB] – ilość zainstalowanej pamięci RAM.
  • Prognoza – prognozowane zużycie pamięci przez aplikacje. Przykładowo, jeżeli planujemy korzystać z wielu programów jednocześnie pokroju Microsoft Office czy Photoshop musimy założyć, że wykorzystanie pamięci fizycznej będzie wysokie, a zatem również i pamięć wirtualna będzie wymagała zarezerwowania dodatkowych zasobów.
  • System – podział ze względu na posiadany system operacyjny.
  • Rozmiar pliku wymiany – proponowany rozmiar, gdzie Min/Max oznacza rozmiar początkowy/maksymalny, wykorzystywany do określania pliku wymiany o zmiennym rozmiarze. Natomiast w ostatniej kolumnie znajdują się propozycje stałego rozmiaru, przy czym druga wartość stanowi bezpieczniejszą opcję.

Dane w tabeli są orientacyjne. Każdy użytkownik powinien dokonać testów, które wskażą graniczne wartości pamięci wirtualnej i na tej podstawie dobrać optymalny rozmiar pliku wymiany.

Zmiana rozmiaru pliku stronicowania

    1. Start => Uruchom => sysdm.cpl
    2. Przechodzimy na zakładkę Zaawansowane, następnie Wydajność => Ustawienia

Okno właściwości systemu

    1. W oknie Opcje wydajności przechodzimy na zakładkę Zaawansowane

Okno wydajności systemu

    1. Pamięć wirtualna => Zmień

Konfiguracja pliku wymiany

    1. W oknie Pamięć wirtualna zaznaczamy Rozmiar niestandardowy
    2. W polu Rozmiar początkowy (MB) określamy wstępny rozmiar pliku stronicowania pamięci wirtualnej
    3. W polu Rozmiar maksymalny (MB) określamy maksymalny rozmiar pliku stronicowania. Jeżeli wartość początkowa będzie równa wartości maksymalnej, taki plik wymiany będziemy nazywali stałym.
    4. Po wpisaniu ustalonych przez nas wartości, klikamy Ustaw, w każdym następnym oknie klikamy OK. Zmiany będą widoczne po ponownym uruchomieniu komputera.

Ponowne uruchomienie systemu Windows

Jeżeli po zmianie dostrzeżemy błędy jak zawieszenie komputera w trakcie pracy, w skutek braku pamięci wirtualnej, natychmiast przywracamy poprzednie ustawienia lub zwiększamy rozmiar pliku swap według powyższej procedury.

Sporadyczne komunikaty o zbyt małej pamięci wirtualnej

Jeśli użytkownik systemu Windows otrzymuje sporadycznie komunikaty o zbyt małej pamięci wirtualnej (komunikaty typu: „w komputerze brakuje pamięci, zapisz pliki i zamknij następujące programy”), mimo wszystko należy interweniować, ponieważ problem może w pewnym momencie doprowadzić do zawieszenia systemu operacyjnego i utraty niezapisanych dokumentów. Aby rozwiązać problem „na już”, wystarczy przywrócić domyślny rozmiar pliku stronicowania. Ustawienia automatyczne pliku wymiany najczęściej nie są optymalne, dlatego wpierw zawsze warto wybrać większy rozmiar, na przykład o 25% większy niż sugerowane rozwiązanie z tabeli. Po zmodyfikowaniu rozmiaru pagefile.sys musimy dokładnie obserwować, co dzieje się z systemem Windows i aplikacjami. Warto również okresowo sprawdzić dzienniki zdarzeń, można również przeprowadzić testy obciążenia, które pozwolą ustalić optymalny rozmiar pliku wymiany. Do monitorowania zasobów można użyć menedżera zasobów wbudowanego w system, monitora wydajności systemu lub skorzystać z alternatyw typu Sysinternals Process Explorer.

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.