Tajemnice pliku wymiany

Ilość pamięci RAM ma kluczowy wpływ na wydajną pracę komputera. Mechanizmy zarządzania pamięcią systemu operacyjnego pozwalają na efektywne działanie Windows nawet wtedy, gdy uruchomiono wiele aplikacji. Optymalna konfiguracja pliku wymiany to jeden z istotnych parametrów XP.

Ilość pamięci RAM ma kluczowy wpływ na wydajną pracę komputera. Mechanizmy zarządzania pamięcią systemu operacyjnego pozwalają na efektywne działanie Windows nawet wtedy, gdy uruchomiono wiele aplikacji. Optymalna konfiguracja pliku wymiany to jeden z istotnych parametrów XP.

Nowe komputery stacjonarne lub przenośne mają w 512 MB lub 1 GB pamięci RAM. Po zainstalowaniu systemu operacyjnego ze zdziwieniem możesz spostrzec, że nieobciążony żadną aplikacją pochłonął niemal 3 GB na twardym dysku. Przy komputerach z 1 GB pamięci RAM, około 1,5 GB przestrzeni dyskowej poświęcone jest na specjalny plik. Jest to pagefile.sys, nazywany plikiem stronicowania.

RAM - klucz wydajności

Plik pagefile.sys na partycji C:.

Plik pagefile.sys na partycji C:.

Aplikacje oszczędnie wykorzystujące pamięć komputera już dawno znikły bez śladu. Programy wykonujące niezbyt skomplikowane działania pożerają kilkanaście lub kilkadziesiąt megabajtów RAM. Większość autorów aplikacji nie przywiązuje wagi do obciążenia zasobów systemowych. Program ma działać bez błędów oraz powstać szybko, co często jest zgubne. Duże wymagania sprzętowe powodują zwiększenie ilości montowanej pamięci RAM.

Dokładanie RAM-u do komputerów nie może trwać wiecznie. Architektura sprzętowa oraz systemowa ma swoje ograniczenia. Poszczególne systemy operacyjne Microsoftu obsługują ściśle określoną ilość pamięci: Windows XP Home i Professional 4 GB, a 64-bitowy Windows XP Professional aż 128 GB. Maksymalną ilość pamięci możliwą do zainstalowania w poszczególnych produktach Microsoftu znajdziesz w poniższej tabeli.

Wpływ RAM na jakość pracy komputera jest niezwykle istotny. Jeśli kupisz sprzęt z wyjątkowo wydajnym procesorem oraz małą ilością pamięci, bardzo szybko przekonasz się, że jego działanie znacznie odbiega od oczekiwań. Podczas uruchamiania kolejnych aplikacji twardy dysk dostanie zadyszki, a wszelkie operacje będą się przedłużać w nieskończoność. Jest to typowy objaw braku RAM. Windows stara się pozyskać pamięć na kolejne programy za pomocą tzw. stronicowania. Za zarządzanie pamięcią w XP odpowiada Menedżer pamięci wirtualnej.

Zarządzanie pamięcią w Windows

Ilość pamięci obsługiwanej przez Windows

Ilość pamięci obsługiwanej przez Windows

Każdy z uruchamianych programów pracuje w obrębie jednego lub wielu procesów. O liczbie wykorzystywanych procesów decyduje twórca oprogramowania. Program to statyczny ciąg wykonywanych instrukcji, natomiast proces to środowisko jego pracy (zespół zasobów). Proces jest charakteryzowany następującymi elementami: nazwa, unikatowy identyfikator (PID), program inicjujący wykonywany kod, lista zasobów dostępnych dla procesu (np. uchwyty do portów, plików), kontekst zabezpieczeń uruchomionego procesu, co najmniej jeden wątek składowy oraz - co jest w tym wypadku najważniejsze - przydzielona wirtualna przestrzeń adresowa.

Każdy z procesów otrzymuje pulę adresów pamięci, którą może wykorzystać na swoje potrzeby. Nie są to rzeczywiste adresy pamięci RAM, lecz wirtualne. W ten sposób system operacyjny niejako "oszukuje" aplikację, dając jej dyspozycji zakres pamięci, którego może nie mieć.

Zastosowanie adresowania wirtualnego ma wiele zalet. Przede wszystkim aplikacje użytkowników nie odwołują się bezpośrednio do pamięci fizycznej, a wszelkie działania kontroluje system operacyjny. Zapobiega to używaniu przez dwie aplikacje (lub większą ich liczbę) tego samego obszaru pamięci, a ingerencja w komórki pamięci obcego procesu może prowadzić do uszkodzenia programu, w szczególnych wypadkach zaś do załamania się systemu. Drugą zaletą jest możliwość uruchamiania kolejnych programów nawet wtedy, gdy potrzeby pozostałych przekroczą fizyczną ilość pamięci.

Raport narzędzia Pagedefrag.

Raport narzędzia Pagedefrag.

Za zarządzanie pamięcią w systemach Windows odpowiada Menedżer pamięci wirtualnej (Virtual Memory Manager). Jego głównym zadaniem jest translacja przydzielonych procesom wirtualnych adresów na fizyczne adresy pamięci RAM. Jeśli jeden z wątków procesu musi się odwołać do zasobów przechowywanych w pamięci, menedżer zamienia adres wirtualny na fizyczny i wątek sięga do wymaganej strony danych. Kolejnym nie mniej ważnym zadaniem jest zarządzanie rozmiarem wolnej pamięci. Gdy jej ilość zaczyna się kurczyć, dane są tymczasowo przenoszone na dysk. Proces ten nosi nazwę stronicowania, pochodzącą od nazwy podstawowej jednostki przechowywania danych obsługiwanej przez Menedżera pamięci wirtualnej. Jest nią strona (page), która w systemach Microsoftu liczy 4 KB. Sporadycznie Windows XP może korzystać z tzw. dużych stron, liczących w zależności od architektury 2 lub 4 MB. Należy pamiętać, że stronicowanie znacznie spowalnia działanie systemu operacyjnego. Gdy Windows musi intensywnie wymieniać dane między pamięcią a dyskiem, wydajność dramatycznie spada. Jedynym sensownym sposobem uniknięcia częstego stronicowania jest zapewnienie systemowi odpowiedniej ilości pamięci RAM.

Plik wymiany

Windows XP stara się optymalizować wykorzystanie zasobów komputera. Menedżer pamięci wirtualnej nieustannie monitoruje użytkowanie RAM-u i jeśli strony pamięci nie są używane, przenosi je do pliku wymiany.

Okno z licznikami wydajności monitorującymi plik wymiany.

Okno z licznikami wydajności monitorującymi plik wymiany.

Plik wymiany, który nosi nazwę pagefile.sys, jest domyślnie zakładany w katalogu głównym partycji startowej Windows, najczęściej oznaczonej literą C:. Ponieważ plik ma ustawione atrybuty ukryty i systemowy, po uruchomieniu Eksploratora Windows będzie niewidoczny. Jeśli chcesz go wyświetlić, musisz w Eksploratorze wybrać menu Narzędzia | Opcje folderów i przejść do karty Widok. W oknie Zaawansowane ustawienia zaznacz Pokaż ukryte pliki i foldery oraz usuń zaznaczenie opcji Ukryj chronione pliki systemu operacyjnego (zalecane), potwierdź wybór i naciśnij OK.

Zalecany przez Microsoft rozmiar pliku pagefile.sys to 1,5 x ilość RAM w bajtach. To zalecenie jest realizowane już podczas instalacji Windows XP, gdy system zakłada plik o rozmiarze początkowym wynoszącym 1,5 RAM zainstalowanej w komputerze. Jeśli w twoim komputerze jest 512 MB RAM, plik wymiany będzie liczył 768 MB, przy 1 GB pamięci jego rozmiar wzrośnie do 1,5 GB. Warto pamiętać, że jest to rozmiar początkowy. Gdy uruchomisz jednocześnie wiele programów, których proces stronicowania będzie wymagał więcej przestrzeni, Windows automatycznie powiększy plik. Domyślnie górna granica wynosi trzykrotność rozmiaru pamięci, np. dla systemów z 512 MB RAM maksimum to 1536 MB. W systemach opartych na architekturze x86 (32-bitowych) maksymalny rozmiar pojedynczego pliku wymiany nie może przekroczyć 4095 MB.

Optymalizacja pliku wymiany

Główne pytanie podczas konfiguracji pamięci wirtualnej dotyczy tego, czy system korzysta z pliku wymiany, jeśli komputer ma dużo pamięci. Jest również ciekawe, czy rozmiar pliku pagefile.sys musi być aż tak znaczny. Jeśli komputer zostanie wyposażony nawet w 2 GB pamięci, stronicowanie i tak będzie miało miejsce, tyle że mniej intensywne. Autorzy wielu aplikacji uwzględnili obsługę stronicowania, dlatego całkowita likwidacja pliku pagefile.sys będzie powodowała komunikaty o błędach. Na pytanie o rozmiar pliku nie można udzielić jednoznacznej odpowiedzi. Dla części systemów domyślny rozmiar będzie zdecydowanie zbyt duży, dla niektórych może się okazać za mały. Najważniejsza jest ilość oraz rodzaj uruchamianego oprogramowania. Na szczęście są proste sposoby monitorowania oraz dostosowania ustawień do potrzeb indywidualnych użytkowników.

Informacje o obciążeniu pamięci przekazywane przez Menedżera zadań.

Informacje o obciążeniu pamięci przekazywane przez Menedżera zadań.

Ustalenie rozmiaru pliku wymiany to nie wszystko. Na wydajność systemu wpływa również lokalizacja pliku pagefile.sys. Jego domyślne położenie nie jest korzystne. W czasie działania Windows dochodzi do rywalizacji o dostęp do plików systemowych i pagefile.sys. Jeśli twój komputer ma tylko jeden dysk, można założyć niewielką (np. 1 GB), oddzielną partycję, sformatowaną w systemie FAT, i umieścić na niej plik pagefile.sys, ale nie należy spodziewać się wyjątkowo widocznych rezultatów tej operacji. Przy większej liczbie dysków zalecane jest przeniesienie pliku wymiany z dysku systemowego do innego urządzenia. W celu znacznego usprawnienia odczytywania i zapisywania danych najlepiej zastosować macierz RAID 0, czyli tzw. paskowanie (striping) dysków. Uwaga! Nie umieszczaj pliku wymiany na macierzach RAID-1 (mirror). Ich oprogramowanie może wówczas wyświetlać komunikaty o rozsynchronizowaniu dysków wchodzących w skład zestawu.

Ostatnim czynnikiem wpływającym na współpracę systemu z plikiem wymiany jest fragmentacja pliku pagefile.sys. W czasie tworzenia Windows XP usiłuje umieścić go w ciągłej przestrzeni dyskowej. Gdy jest to niemożliwe, pagefile.sys może zostać rozbity na kilka części, podobnie jak podczas automatycznego zwiększania jego rozmiaru. Rozwiązaniem tego problemu może być zwolnienie odpowiedniej ilości przestrzeni dyskowej oraz przypisanie stałego rozmiaru początkowego i końcowego. Innym sposobem jest wykonanie defragmentacji pliku wymiany. Jeśli chcesz sprawdzić czy plik pagefile.sys jest pofragmentowany lub przeprowadzić jego defragmentację, możesz posłużyć się narzędziem Pagedefrag, które odnajdziesz na stronie: http://www.sysinternals.com/utilities/pagedefrag.html .


Zobacz również