Pamięć Wirtualna, Systemy operacyjne


Czym jest pamięć wirtualna i jak działa?
Pamięć RAM w Windows XP

Brak elementarnej znajomości istoty jej funkcjonowania zrodził właśnie wiele sztuczek, które mają podnosić szybkość działania systemu, a w efekcie przynoszą skutek odwrotny do oczekiwań.
32-bitowa architektura naszych komputerów pozwala zaadresować do 4 GB pamięci operacyjnej. Niestety w rzeczywistości mają one znacznie mniej pamięci RAM i co gorsze o wiele mniej niż potrzebują. Brakująca pamięć RAM została zatem rozszerzona o dodatkową przestrzeń na dysku twardym, którą stanowi plik stronicowania lub jak kto woli - plik wymiany.
Oba te elementy - pamięć RAM i plik stronicowania (pagefile.sys) tworzą przestrzeń adresową nazywaną właśnie pamięcią wirtualną.
W systemie Windows XP tylko jądro systemu operuje bezpośrednio na pamięci RAM. Wszystkie inne procesy i aplikacje korzystają w mniejszym lub większym stopniu z pośrednictwa pamięci wirtualnej.
W pamięci RAM przechowywane są dane pozostające aktualnie w użyciu. Jeśli w pamięci RAM nie ma już miejsca, system przerzuca do pliku stronicowania wszystko to, co w danej chwili nie jest konieczne. Tworzy w ten sposób wolne miejsce dla danych bieżących. Jeżeli jakaś aplikacja potrzebuje informacji zawartej w pliku wymiany, jest ona z powrotem przenoszona do obszaru pamięci RAM.
Trzeba mieć świadomość, że plik wymiany znajduje się na tysiąc razy wolniejszym od modułów pamięci RAM dysku twardym. A zatem, przynajmniej teoretycznie, rezygnacja z pliku stronicowania i przeniesienie całej pamięci systemowej do pamięci RAM byłoby rozwiązaniem wielokrotnie przyspieszającym funkcjonowanie systemu.
Są tacy, którzy mając tę świadomość, dążą do maksymalnego rozbudowania RAM instalując kolejne kości. Czy jednak rzeczywistość jest zgodna z teorią? - odpowiem nieco później.
Na razie zajmijmy się potrzebami przeciętnych użytkowników i spróbujmy odpowiedzieć na pytanie ile zasobów pamięci RAM minimum potrzebuje nasz komputer.
Wbrew pozorom udzielenie odpowiedzi na to pytanie wcale nie jest proste. Z pewnością wymagane zasoby RAM będą zależeć od "pamięciożerności" aplikacji z jakimi pracujemy, objętości dokumentów oraz liczby programów używanych jednocześnie. Do końca nie jest to jednak prawdą.
Windows XP pracuje w myśl zasady: "Wolna pamięć RAM to zmarnowana pamięć". Dlatego niezależnie od zasobów będzie starał się ją maksymalnie wykorzystać, przechowując w jej obszarze zarówno dane aktualnie niezbędne, jak i te które w "jego ocenie" mogą się jeszcze przydać. Wynika z tego, że wysokie wykorzystanie pamięci RAM nie musi oznaczać od razu jej niedoboru.

0x01 graphic

Wyraźnym sygnałem sugerującym, że pamięci może być za mało będzie natomiast wyraźne spowolnienie pracy systemu. Warto wtedy zajrzeć do Menadżera zadań, który dostarczy niezbędnych informacji o zasobach RAM i ich wykorzystaniu. Menadżera zadań możemy uruchomić kombinacją klawiszy Ctrl+Alt+Delete. Można także kliknąć prawym przyciskiem myszy w wolne miejsce na pasku zadań i wybrać "Menadżer zadań".
Na tym etapie poszukiwaną informację znajdziemy w polu "Pamięć zadeklarowana".
Jeżeli w polu "Razem", całkowita ilość pamięci będąca aktualnie w użyciu, systematycznie przewyższa zasoby zainstalowanej pamięci RAM to wskazane jest dodanie pamięci.
Z przytoczonych rozważań wynika jeszcze jeden istotny wniosek - system zarządzania pamięcią RAM przez Windows wyklucza stosowanie aplikacji odzyskujących RAM w rodzaju MemTurbo czy Ram Optimizer, a ich działanie będzie odwrotne do naszych oczekiwań. System będzie spowalniał pracę aktywnych aplikacji lub wręcz ją uniemożliwiał z chwilą uruchomienia narzędzia optymalizującego RAM, a po zakończeniu jego działania ponownie dążył do maksymalnego wykorzystania RAMu. Przyznacie sami, że takie mielenie danych pozbawione jest sensu. Niestety bardzo często zachęca się do stosowania takich narzędzi, a aplikacje odzyskujące RAM są coraz liczniejsze.
Czas na odpowiedź czy można całą pamięć wirtualną przenieść do obszaru RAM?
Wyeliminowanie pliku stronicowania, nawet przy największych zasobach RAM, nie wyłącza mechanizmu pamięci wirtualnej, a system nie przechodzi do adresowania wyłącznie w zakresie obszaru pamięci RAM. Tak naprawdę do końca nie wiadomo jak wobec takiego ustawienia system się zachowa. Pomimo naszych działań może stworzyć gdzieś plik wymiany, nad którym stracimy wszelką kontrolę. Jeśli nawet go nie stworzy, to prędzej czy później, mało wydajne zarządzanie pamięcią RAM, odbije się na wydajności. Innym problemem jaki może się pojawić jest fakt, że wiele aplikacji  wobec braku pliku stronicowania po prostu się nie uruchomi.

Na kolejnej stronie zajmę się efektywnym wykorzystaniem pamięci RAM poprzez optymalizację usług i redukcję niepotrzebnych procesów pracujących w tle

Metody ograniczenia zużycia pamięci RAM
Skoro próby odzyskiwania pamięci RAM są nieracjonalne, nasze działania powinny pójść w kierunku ograniczenia jej zużycia. Można to osiągnąć poprzez optymalizację usług domyślnie oferowanych przez Windows XP oraz redukcję innych procesów pracujących w tle.

Konfiguracja usług
Windows XP domyślnie uruchamia w tle liczne usługi. Wśród ich znajdują się jednak i takie, które nigdy nie będą wykorzystane. Mimo to są uruchamiane, niepotrzebnie pochłaniają zasoby procesora i pamięci operacyjnej. Wyłączenie tych procesów może w znacznym stopniu poprawić dynamikę systemu. Powróćmy więc na chwilę do znanego już Menadżera zadań, tym razem na zakładkę Procesy. Spróbujmy obliczyć liczbę aktywnych procesów i pochłaniane zasoby pamięci RAM. Dobrze byłoby wykonać nawet zrzut ekranowy, aby po redukcji usług porównać dane.
Chociaż zamknięcie procesu z poziomu Menadżera zadań jest możliwe nie ma to sensu w odniesieniu do usług. Nawet jeśli zamkniemy proces, który nie ma znaczenia dla stabilnego funkcjonowania systemu to z pewnością pojawi się on ponownie po kolejnym uruchomieniu komputera. Po drugie - identyfikacja usługi na podstawie informacji zawartej w kolumnie "Nazwa obrazu" może prowadzić do poważnego błędu.

0x01 graphic

Aby skutecznie wyłączyć usługę musimy wejść przez Panel sterowania do Narzędzi administracyjnych, a stąd na Usługi.
Jeżeli uaktywnimy zakładkę Rozszerzony, to po kliknięciu na wybraną usługę otrzymamy dość szeroką informację o jej przeznaczeniu i ewentualnych skutkach wyłączenia.

0x01 graphic

Jeszcze większy zakres informacji jest dostępny po kliknięciu prawym przyciskiem myszy.
Zakładka Ogólne, poza wspomnianą informacją, pozwoli zlokalizować ścieżkę do pliku wykonywalnego, a zatem bardziej przybliży identyfikację procesu np. SVCHOST.EXE.

0x01 graphic

Z kolei na zakładce Zależności dowiemy się od jakich składników systemu usługa jest zależna oraz jaki ma wpływ na inne składniki. Wzajemne powiązania są bardzo ważne bowiem rezygnując z jednej usługi możemy stracić dostęp do innych. Jak widać w przypadku Posłańca jego wyłączenie nie pociągnie za sobą innych składników.

0x01 graphic

Zanim przystąpimy do analizy i redukowania nieprzydatnych usług musimy być świadomi, że system Windows XP nie oferuje funkcji przywracania domyślnych ustawień. Błąd może nas zatem drogo kosztować. Aby uchronić się przed ewentualnymi następstwami takiego zdarzenia namawiam bardzo do wyeksportowania odpowiedniego klucza Rejestru. Dzięki temu, w razie problemów, przywrócimy poprzednią konfigurację w kilka sekund.
Z menu Start wybieramy Uruchom, wpisujemy regedit i akceptujemy OK. Teraz otwieramy klucze:


0x01 graphic
0x01 graphic
i zaznaczamy 0x01 graphic


Z menu Plik Edytora rejestru wybieramy Eksportuj, zaznaczając na dole okna "Wybraną gałąź". Plik z rozszerzeniem .reg zapisujemy na dysku. W przypadku ewentualnego błędu klikamy na niego dwukrotnie i domyślne ustawienia zostają przywrócone.
Jak z pewnością zauważycie w odniesieniu do usług spotykamy trzy typy uruchomienia, za pomocą których można określić czy i kiedy dana usługa ma wystartować.

  • Automatyczny - usługa startuje przy każdym uruchomieniu systemu niezależnie od tego czy jest potrzebna. Dla poprawnego funkcjonowania systemu szereg usług musi pracować w tym trybie.

  • Ręczny - usługa może być uruchamiana wyłącznie przez użytkownika, w sytuacji gdy będzie jej potrzebował. Niektóre usługi wbrew opinii Microsoft'u uruchamiają się jednak same gdy są potrzebne.

  • Wyłączony - usługa nie uruchomi się nawet wówczas gdy będzie potrzebna. W przypadku stuprocentowej pewności, że jest zbędna można wybrać ten tryb. W razie błędu mogą powstać problemy ze stabilnością systemu.

W tabeli poniżej dodałam jeszcze jeden orientacyjny typ, który nazwałam Tryb użytkownika.
Oznacza on możliwość dowolnego wyboru typu uruchamiania (od domyślnego do wyłączenia włącznie) zależnie od potrzeb lub zainstalowanego sprzętu.
Mając na uwadze fakt, że informacja dostarczana przez aplet Usługi jest dość wyczerpująca ograniczam się do podania domyślnych i zalecanych ustawień dla komputerów domowych nie pracujących w sieci wewnętrznej. Niektóre ustawienia dodatkowo skomentuję.
Proszę pamiętać, że korzystacie z tych wskazówek na własną odpowiedzialność i z uwzględnieniem własnej konfiguracji sprzętowej.

nazwa usługi

domyślnie
Home Edition

domyślnie
Professional

zalecane

uwagi i komentarz

Aktualizacje automatyczne

Automatycznie

Automatycznie

Tryb użytkownika

 

Aplikacja systemowa modelu COM+

Ręczny

Ręczny

Ręczny

 

Bufor wydruku

Automatyczny

Automatyczny

Automatyczny
lub Wyłączony

nieprzydatny w razie braku drukarki lub programów które ją symulują np. Acrobat Reader

Clip Book

Ręczny

Ręczny

Wyłączony

pozwala na dzielenie się informacjami ze schowka z innymi użytkownikami sieci. Aby ja wyłączyć usługi Network DDE i Network DDM DSDM muszą być wyłączone

DDE sieci

Ręczny

Ręczny

Wyłączony

brak zastosowania w warunkach domowych

Distributed Transaction Coordinator

Ręczny

Ręczny

Ręczny

 

Dostęp do urządzeń interfejsu HID

Wyłączony

Wyłączony

Wyłączony

 

DSDM DDE sieci

Ręczny

Ręczny

Wyłączony

jeżeli usługa DDE sieci jest ustawiona na Automatyczny to i te należy ustawić tak samo

Dziennik zdarzeń

Automatyczny

Automatyczny

Automatyczny

funkcji praktycznie nie da się wyłączyć

Dzienniki wydajności i alerty

Ręczny

Ręczny

Ręczny

zbiera dane o wydajności kompute rów w sieci - przydatna administratorom

Harmonogram zadań

Automatyczny

Automatyczny

Automatyczny

 

Host uniwersalnego urządzenia Plug and Play

Ręczny

Ręczny

Ręczny

 

Instalator Windows

Ręczny

Ręczny

Ręczny

instaluje, naprawia i odinstalowuje oprogramowanie bazujące na plikach .msi

Instrumentacja zarządzania Windows

Automatyczny

Automatyczny

Automatyczny

ma krytyczne zna- czenie dla systemu

Karta inteligentna

Ręczny

Ręczny

Wyłączony

Karta wydajności WMI

Ręczny

Ręczny

Wyłączony

 

Klient DHCP

Automatyczny

Automatyczny

Automatyczny

Klient DNS

Automatyczny

Automatyczny

Automatyczny

Klient śledzenia łączy rozproszonych

Automatyczny

Automatyczny

Tryb użytkownika

działa tylko na platformach z systemem plików NTFS

Kompozycje

Automatyczny

Automatyczny

Tryb użytkownika

wyłączenie ogranicza interfejs XP do wyglądu klasycznego

Konfiguracja zerowej sieci bezprzewodowej

Automatyczny

Automatyczny

Wyłączony

potrzebna do ustala- nia połączeń z urządzeniami PDA lub laptopami

Kopiowanie woluminów w tle

Automatyczny

Automatyczny

Ręczny

Ma zastosowanie gdy są programy wykonujące kopie zapasowe

Logowanie do sieci

Ręczny

Automatyczny

Wyłączony

 

Logowanie pomocnicze

Automatyczny

Automatyczny

Wyłączony

pozwala uruchamiać programy na koncie z ograniczonym dostępem użytkownikowi z wyższymi prawami

Lokalizator usługi zdalnego wywołania procedury RPC

Ręczny

Ręczny

Ręczny

Magazyn chroniony

Automatyczny

Automatyczny

Automatyczny

wyłączenie spowoduje, że IE i OE nie będą "pamiętać" haseł

Magazyn wymienny

Ręczny

Ręczny

Ręczny

Menedżer autopołączenia dostępu zdalnego

Ręczny

Ręczny

Ręczny

wymagana przy dzieleniu łącza internetowego

Menedżer dysków logicznych

Ręczny

Automatyczny

Automatyczny

Menedżer kont zabezpieczeń

Automatyczny

Automatyczny

Automatyczny

Menedżer usługi Dostęp zdalny

Ręczny

Ręczny

Ręczny

niezbędna przy dzieleniu łącza internetowego

Menedżer przekazywania

Automatyczny

Automatyczny

Ręczny

zarządza transfe- rami plików w sieci

Menedżer sesji pomocy pulpitu zdalnego

Ręczny

Ręczny

Wyłączony

zdalny asystent pomocy

MS Software Shadow Copy Provider

Ręczny

Ręczny

Ręczny

NetMeeting Remote Desktop Sharing

Ręczny

Ręczny

Wyłączony

umożliwia użytkowni kom NetMeeteng na wzajemne uzyskiwa- nie zdalnego dostę- pu do swoich komputerów

Plug and Play

Automatyczny

Automatyczny

Automatyczny

Połączenia sieciowe

Ręczny

Ręczny

Ręczny

Pomoc i obsługa techniczna

Automatyczny

Automatyczny

Ręczny

Pomoc TCP/IP NetBIOS

Automatyczny

Automatyczny

Ręczny

jeśli sieć nie wykorzystuje NetBIOS usługę można wyłączyć

Pomocnik karty inteligentnej

Ręczny

Ręczny

Wyłączony

Posłaniec

Automatyczny

Automatyczny

Wyłączony

nośnik komunikatów o wątpliwej treści. Usługa wykorzysty- wana przez wirusy

Przeglądarka komputera

Automatyczny

Automatyczny

Ręczny

gromadzi informacje o zasobach sieci lokalnej

QoS RSVP

Ręczny

Ręczny

Ręczny

Rejestr zdalny

Brak

Automatyczny

Wyłączony

umożliwia zdalny dostęp do Rejestru

Routing i dostęp zdalny

Wyłączony

Ręczny

Wyłączony

Rozpoznawanie lokalizacji w sieci (NLA)

Ręczny

Ręczny

Ręczny

Rozszerzenia sterownika Instrumentacji zarządzania Windows

Brak

Ręczny

Ręczny

zarządza przepły- wem informacji do i ze sterowników

Serwer

Automatyczny

Automatyczny

Tryb użytkownika

umożliwia udostęp- nianie plików i drukarek w sieci lokalnej

Stacja robocza

Automatyczny

Automatyczny

Automatyczny

zarządza połączenia- mi sieciowymi do serwerów zdalnych - powiązana z licznymi usługami

System zdarzeń COM+

Ręczny

Ręczny

Ręczny

Telefonia

Ręczny

Ręczny

Ręczny

pozwala na obsługę telefonii API dla programów korzystających z połączeń głosowych

Telnet

Brak

Ręczny

Wyłączony

Urządzenie alarmowe

Ręczny

Ręczny

Ręczny

powiadamia wybra- nych użytkowników lub komputery o alarmach administracyjnych

Usługa administracyjna Menedżera dysków logicznych

Ręczny

Ręczny

Ręczny

odpowiada za konfigurację dysków i woluminów

Usługa bramy warstwy aplikacji

Ręczny

Ręczny

Ręczny

umożliwia m.inn. działanie firewall'i innych producentów

Usługa COM nagrywania dysków CD IMAPI

Ręczny

Ręczny

Automatyczny

umożliwia nagrywanie płyt CD

Usługa Czas systemu Windows

Automatyczny

Automatyczny

Wyłączony

można bez tego żyć

Usługa indeksowania

Ręczny

Ręczny

Ręczny

jeżeli rozpoczyna indeksować pliki w najmniej odpowied- nim momencie - można ją wyłączyć

Usługa inteligentnego transferu w tle

Ręczny

Ręczny

Ręczny

Usługa NT LM Security Support Provider

Ręczny

Ręczny

Ręczny

zapewnia bezpieczeństwo programom korzystającym z usługi RPC

Usługa numeru seryjnego multimediów przenośnych

Automatyczny

Automatyczny

Tryb użytkownika

umożliwia uzyskiwanie numeru seryjnego np. przenośnego odtwarzacza MP3

Usługa odnajdywania SSDP

Ręczny

Ręczny

Wyłączony

pozwala na obsługę urządzeń Universal Plug and Play

Usługa przywracania systemu

Automatyczny

Automatyczny

Tryb użytkownika

Usługa raportowa- nia błędów

Automatyczny

Automatyczny

Tryb użytkownika

pozwala na wysyłanie raportów o błędach do MS

Usługi IPSEC

Automatyczny

Automatyczny

Wyłączony

Usługi kryptograficzne

Automatyczny

Automatyczny

Automatyczny

zarządza podpisami cyfrowymi plików

Usługi terminalowe

Ręczny

Ręczny

Ręczny

podłączenie wielu użytkowników do jednego komputera

WebClient

Automatyczny

Automatyczny

Ręczny

pozwala programom systemu Windows na tworzenie, dostęp i modyfikację plików w Internecie

Windows Audio

Automatyczny

Automatyczny

Automatyczny

Windows Image Acquisition (WIA)

Ręczny

Ręczny

Ręczny

umożliwia działanie skanerów i aparatów cyfrowych

Zapora połączenia internetowego / Udostępnianie połączenia internetowego

Ręczny

Automatyczny

Tryb użytkownika

Zarządzanie aplikacjami

Ręczny

Ręczny

Ręczny

Zasilacz awaryjny (UPS)

Ręczny

Ręczny

Wyłączony

Zawiadomienie o zdarzeniu systemowym

Automatyczny

Automatyczny

Automatyczny

Zdalne wywoływanie procedur (RPC)

Automatyczny

Automatyczny

Automatyczny

działanie usługi ma znaczenie krytyczne

Zgodność szybkiego przełączania użytkowników

Ręczny

Ręczny

Ręczny


Podsumowanie
Kierując się wskazówkami proponowanymi w tabeli wyłączyłam ogółem 21 usług. Zmiany te spowodowały, że z 55 usług posiadających w czasie pracy status "uruchomiona" pozostało 37 aktywnych.
Muszę w tym miejscu wyjaśnić, że w tej liczbie znalazły się nie tylko usługi "oferowane" przez Windows XP, ale także te pojawiające się po zainstalowaniu dodatkowego oprogramowania np. Norton Internet Security, Dickeeper, serwera Apache, MySQL itp.
Biorąc pod uwagę zasoby i konfigurację sprzętową praktycznie nie zyskałam na czasie uruchamiania systemu (w końcu nie o to chodziło). Znacząco spadło natomiast wykorzystanie zasobów pamięci. Próby wykonane po dwugodzinnej pracy z identyczną liczbą jednocześnie uruchomionych programów wykazały spadek tego zapotrzebowania z poziomu 265 do 227 MB, a zatem o 38 MB.
Może ktoś powiedzieć, że zysk rzędu 17% nie wart był zachodu. W rzeczywistości okazał się jednak wystarczający, aby obszar przeciętnego wykorzystania zasobów pamięci nie wykraczał poza dostępną pamięć RAM. Biorąc pod uwagę odczuwalny wzrost szybkości pracy z aplikacjami naprawdę się opłacił.
Z pewnością w niektórych konfiguracjach można oszczędzić jeszcze więcej.
Mój sprzęt musi obsługiwać skaner, drukarkę, aparat cyfrowy i serwer lokalny. Pracuje na nim trzech użytkowników z różnymi poziomami zaawansowania i prawami dostępu. Obsługuje stałe łącze internetowe, a zatem nie mogłam wyłączyć kilku istotnych usług, które w przeciętnych komputerach domowych nie znajdą zastosowania.
Istotny problem natrafiłam także przy ograniczaniu liczby procesów działających w tle. Sprawił je chociażby Diskeeper, który po wyłączeniu usługi nie chciał się uruchamiać. Do trybu ręcznego nie mogłam też przesunąć procesów związanych z obsługą firewalla i skanera antywirusowego, bo nie mogę mieć pewności, że będą uaktywniane przed wznowieniem połączenia.
Zdecydowałam także aby nie pozbywać się możliwości modyfikowania standardowego wyglądu Windows.

Lokalizacja pliku stronicowania i jego rozmiary
Zdecydowana większość komputerów domowych pracuje na platformie jednodyskowej. 
W takiej sytuacji plik stronicowania powinien znajdować się na partycji systemowej, gdzie domyślnie jest zlokalizowany. Dzięki temu, najczęściej wykorzystywane pliki systemowe i plik wymiany znajdują się blisko siebie, a długość skoków głowicy ulega znacznemu skróceniu. Przyznając sens takiemu uzasadnieniu warto jednak zauważyć, że w przypadku częstego sięgania do pliku wymiany oraz danych, odczyt z dysku jest utrudniony, gdyż głowica musi bardzo często zmieniać położenie i przemieszczać się między różnymi obszarami.  
Gdyby plik wymiany zlokalizować na innym dysku, to mielibyśmy do czynienia z równoległym dostępem do pliku wymiany i odczytem danych, a dzięki temu system pracowałby z większą prędkością. Kto jednak dysponuje pojedynczym dyskiem, musi się z tą minimalną stratą  pogodzić. 
Użytkownicy komputerów z więcej niż jednym dyskiem twardym mogą skorzystać ze swoich możliwości sprzętowych i rozłożyć operacje wejścia/wyjścia, generowane wymianą danych między plikiem stronicowania a pamięcią RAM, przez umieszczenie pliku stronicowania na drugim, a nawet na kilku dyskach. Podejmując taką decyzję trzeba jednak spełnić dwa warunki:

  • plik stronicowania powinien być umieszczony na najszybszym urządzeniu, a zatem drugi dysk twardy (lub kolejne) nie mogą być wolniejsze od systemowego 

  • na dysku systemowym należy pozostawić plik stronicowania o rozmiarze minimalnym około 2 MB dla uniknięcia ewentualnych problemów ze stabilnością systemu

Warto przy tej okazji zasygnalizować, że wysoce niewskazane jest umieszczanie kilku plików stronicowania na jednym dysku twardym. Windows XP w zasadzie potrafi je obsłużyć ale brak w tym logiki.
Podobnie nielogiczny jest z kolei domyślny sposób określania wielkości pliku stronicowania przez system, oparty na schemacie 1,5 x RAM.
W ten sposób użytkownik, który dysponuje skromnymi zasobami RAMu i potrzebuje znacznego pliku wymiany dla zapewnienia optymalnej pamięci wirtualnej będzie miał mały plik stronicowania, a rekiny RAMu - cały ocean nieprzydatnej pamięci wirtualnej. Dobrze jest zatem, szczególnie w tych krańcowych przypadkach, samemu określić wielkość pliku stronicowania. Pomocnym narzędziem będzie Menadżer zadań, który pozwoli nam określić maksymalne zapotrzebowanie pamięci, z jakim mieliśmy do czynienia podczas testowej sesji. Zwiększając ją o 10 - 15% ustalamy wartość początkową. Wartość maksymalna powinna być w przybliżeniu nawet dwukrotnie większa. 
Pomimo oczywistego błędu, informacja o zalecanej wielkości pliku stronicowania nie została jak dotąd zmodyfikowana i nadal można ją znaleźć w dziale pomocy technicznej.

0x01 graphic

Jeżeli korzystamy z funkcji szybkiego przełączania użytkowników trzeba to uwzględnić. System musi mieć odpowiednio dużo pamięci aby zapisać ustawienia pierwszego i stworzyć miejsce dla drugiego. W takiej sytuacji początkowy rozmiar pliku stronicowania może pozostać bez zmian, ale rozmiar maksymalny powinien być zwiększony.

Bardzo ciekawe rozwiązanie lokalizacji pliku stronicowania, eliminujące jednocześnie problem fragmentacji pliku nadesłał Luki. A oto Jego komentarz:

"dla pliku wymiany zakładamy specjalną partycję o odpowiedniej wielkości (np. 1-2GB) jako następną partycję systemową na tym samym dysku lub ewentualnie jako pierwszą na kolejnym dysku pod warunkiem, że jest tak samo szybki. Partycję najlepiej sformatować jako FAT32.
W ten sposób unikamy fragmentacji pliku wymiany oraz likwidujemy ryzyko ze zabraknie dla niego miejsca. Sposób ten jest powszechnie wykorzystywany w przypadku serwerów MS 2k/2k3. Aby dodatkowa partycja (tylko dla pliku stronicowania) nie mieszała się nam z innymi użytecznymi partycjami nadajemy jej np. literę Z, a dla odróżnienia od innych nazwę SWAP.
"

Dodam od siebie, że warto zrobić jeszcze jeden krok i ustawić partycję SWAP jako pierwszą na dysku, a dopiero drugą systemową ustawić jako aktywną. Lepiej już chyba nie można.

Czy plik stronicowania może mieć sztywną wartość?
Jako dobrą radę na poprawę szybkości działania systemu podaje się często, że najlepiej jest określić wielkość pliku stronicowania tak, aby jego wartości minimalna i maksymalna były identyczne. Zalecenie takie uzasadnia się ograniczeniem fragmentacji pliku stronicowania. Analizując zjawisko dokładniej, takie ustawienie nie wydaje się jednak uzasadnione.

0x01 graphic

Plik stronicowania rzeczywiście może ulec fragmentacji podczas rozszerzania jego wielkości na potrzeby systemu. Widać to dobrze na rysunku powyżej, gdzie obszar pliku stronicowania jest oznaczony kolorem żółtym. Trzeba jednak wiedzieć, że system szuka dla pliku stronicowania jak największych bloków wolnej przestrzeni na dysku, a zatem faktyczna fragmentacja nie stanowi poważnego problemu. Zapobieżenie stosunkowo niskiej fragmentacji jest niewielkim zyskiem w porównaniu do zagrożenia, jakim może być utrata stabilności systemu.
Jeżeli minimalna i maksymalna wielkość pliku stronicowania będą takie same, a system będzie potrzebował większego pliku, to w chwili gdy wykorzysta 90% dostępnej pamięci wyśle ostrzeżenie, a gdy rezerwa okaże się za mała - zakończy pracę niebieskim ekranem.

0x01 graphic

Uzupełnienie
Na ile jednak problem fragmentacji pliku stronicowania jest poważny skoro się go sygnalizuje?
Zabierając się do zbadania tej kwestii dokonałam totalnego zamieszania na partycji systemowej, po którym stopień fragmentacji plików spowalniał ich odczyt o ponad 40%, a mój Diskeeper wysłał komunikat ostrzegawczy.

0x08 graphic

Skutkiem totalnego bałaganu była także fragmentacja pliku stronicowania, gdyż system nie dysponował odpowiednio dużymi i wolnymi przestrzeniami na dysku. Z przerażeniem stwierdziłam, że został on podzielony aż na 275 fragmentów. Restart systemu, po którym plik wymiany powi-

nien zostać zregenerowany dał bardzo niewiele. Z pewnością nie wszyscy wiedzą, że plik stronicowania jest takim specyficznym tworem, którego praktycznie nie da się scalić systemowym narzędziem do defragmentacji. Nie podołał temu także Diskeeper pracujący pod systemem Windows. W konsekwencji tych zabiegów, pomimo zdefragmentowania partycji systemowej, mój plik stronicowania nadal pozostał w rozsypce.

0x08 graphic

Nie dałam jednak za wygraną i znalazłam prog- ram, które potrafi to zro- bić, a przy okazji jest abso lutnie darmowy.
Skutkiem jego działania było złożenie pliku stronicowania do czterech elementów.

System File Defragmenter - bo o nim mowa, po rozpakowaniu i uruchomieniu wyświetla informację o aktualnym stopniu fragmentacji plików systemowych. Wybierając opcję "Defragmentuj przy następnym uruchomieniu" restartujemy komputer. Aplikacja przystępuje do pracy przed załadowaniem składników systemu i wykonuje defragmentację. Po zakończeniu jej działania system uruchamia się automatycznie. Proces trwa około 2 minut i zdecydowania warto je poświęcić. Odradzam natomiast zaznaczanie opcji "Defragmentuj przy każdym starcie" bo w końcu wiele zabiegów, które wykonujemy ma przyspieszać rozpoczęcie pracy. Od czasu do czasu warto jednak sprawdzić co dzieje się na dysku, a przede wszystkim nie dopuszczać do takiego totalnego zamieszania. Z działaniem aplikacji może wiązać się jeden problem, który grozi pojawieniem się "niebieskiego ekranu". Nastąpi to wówczas, gdy ilość dostępnego miejsca na dysku jest zbyt mała aby przenieść i scalić plik stronicowania. Mam jednak nadzieję, że zdecydowana większości do tego nie dopuści.
Zdaje sobie sprawę, że tym doświadczeniem sporo namieszałam, bo przecież wszystko wydawało się takie oczywiste. Spróbujmy zatem to uporządkować:
- z podzielonym plikiem wymiany swobodnie da się pracować, a spowolnienie działania aplikacji praktycznie będzie niezauważalne
- zdecydowanie odradzam tworzenie sztywnego pliku wymiany chyba, że taka zmiana zakończy się jakimś wyraźnie odczuwalnym sukcesem, a wielkość utworzonego pliku nie spowoduje załamania systemu
- przy intensywnej pracy z wieloma aplikacjami warto częściej sięgać do defragmentacji i od czasu do czasu pomóc w tym także plikowi stronicowania.

0x01 graphic

Własna wielkość pliku stronicowania
Aby określić własną wielkość pliku stronicowania należy z menu "Mój komputer" wybrać - "Właściwości".

0x01 graphic

Na zakładce "Zaawansowane" - wybrać "Wydajność" i kliknąć na "Ustawienia", a następnie przejść na zakładkę "Zaawansowane" i w obszarze "Pamięć wirtualna" kliknąć na "Zmień".
Teraz wystarczy wpisać prawidłowo dobrane wartości i zaakceptować je klikając na "Ustaw".
Problem ewentualnej rezygnacji z pliku stronicowania omówiłam na poprzedniej stronie.


Inne ustawienia pamięci wirtualnej i pliku stronicowania
W domyślnych ustawieniach parametry pamięci wirtualnej, poza przypadkami omówionymi wyżej, są dobrane w miarę optymalnie. Opcje ustawień pozwalają jednak na dokonanie pewnych modyfikacji, a zatem wypadałoby odpowiedzieć na pytanie - czy warto?

Przydzielanie zasobów
Na zakładce "Zaawansowane" w polu "Użycie pamięci" można zdefiniować, w jaki sposób system ma przydzielić zasoby pamięci operacyjnej.

0x01 graphic

Zmiana domyślnych ustawień bardzo często pojawia się jako porada na zwiększenie szybkości działania systemu. Niestety w warunkach domowych zmiana tej wartości wywołuje bardzo niekorzystny efekt. Należy pamiętać, że nasz komputer pracuje wtedy jako stacja robocza. Przy zaznaczeniu opcji "Bufor systemu" zostanie przy-

dzielone procesom systemowym aż 80% pamięci operacyjnej, natomiast aplikacje z którymi pracujemy dostana tylko 20%. Trudno w takim przypadku mówić o zwiększeniu szybkości pracy, a ustawienie to ma sens tylko wówczas gdy nasz komputer pracuje jako serwer.

Czyszczenie pliku stronicowania przy zamykaniu systemu
To kolejny element, któremu czasami mylnie przypisuje się zwiększenie wydajności systemu. Być może wynika to z nieświadomości faktu, że przy każdym uruchomieniu tworzony jest zupełnie nowy plik stronicowania. Włączenie tej opcji zdecydowania wydłuża czas zamknięcia systemu, który zmuszony jest wykonać o tę jedną operację więcej. Po co więc ja przewidziano?
Czyszczenie pliku stronicowania może mieć znaczenie dla bezpieczeństwa gdyż wymazanie pliku wymiany nie pozwoli odczytać nikomu danych, jakie były w nim przechowywane podczas ostatniej sesji. Komu zatem zależy na takim rozwiązaniu może uaktywnić tę funkcję zmieniając domyślne ustawienia. Tym razem trzeba będzie niestety zajrzeć do Rejestru.
Rozwijamy gałąź:

0x01 graphic
0x01 graphic
0x01 graphic
0x01 graphic

0x01 graphic
0x01 graphic

po czym w prawym oknie poddajemy edycji wartość:

0x01 graphic

Aby włączyć czyszczenie pliku stronicowania wartości DWORD przypisujemy liczbę 1.
(praktyczny opis edycji kluczy rejestrowych znajdziesz na stronie: Rejestr Windows - edycja

Wyłączenie stronicowania plików wykonywalnych
Elementy jądra systemu oraz sterowników urządzeń dzielą się na takie, które bezwzględnie muszą być przechowywane w obszarze pamięci RAM oraz na takie, które mogą być przechowywane w pliku wymiany. Niewielkie przyspieszenie systemu można uzyskać wymuszając ich lokalizację tylko w pamięci RAM.
Niestety komputery nie dysponujące odpowiednimi zasobami RAM - minimum 512 MB - mogą okazać się niestabilne. Próby takiego rozwiązania nie może zatem ryzykować każdy.
Aby ja podjąć musimy ponownie skorzystać z Rejestru i rozwinąć dokładnie tę samą gałąź jak przedstawiona powyżej. Tym razem edycji musimy poddać wartość:

0x01 graphic

przypisując wartości DWORD liczbę 1.

Na tym zakończę rozważania na temat możliwych modyfikacji obszaru pamięci wirtualnej.



Wyszukiwarka

Podobne podstrony:
12 wspomaganie systemu operacyjnego pamiec wirtualna
Konfiguracja pamięci wirtualnej w Win 2003 serwer, Szkoła, Systemy Operacyjnie i sieci komputerowe,
12 wspomaganie systemu operacyjnego pamiec wirtualna
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
dobrucki,systemy operacyjne, Rodzaje pamięci
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
Systemy Komputerow- pamięć podręczna, TZN, Systemy Operacyjne i Sieci
8 Systemy Operacyjne 21 12 2010 Zarządzanie Pamięcią Operacyjną
9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2
Pamięć wirtualna, Notatki z systemów
Pamięci półprzewodnikowe, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
dobrucki,systemy operacyjne, Rodzaje pamięci
2006 08 Zarządzanie pamięcią w systemach operacyjnych [Inzynieria Oprogramowania]
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I

więcej podobnych podstron