Plik wymiany

Ostatnio coraz częściej w Waszej korespondencji pojawiały się sugestie o potrzebie wsparcia także dla użytkowników Windows XP. Rozumiejąc to nie mogłam jednak zareagować od razu.
Po latach nierozłączności z systemem Win 98SE przesiadka na Windows XP Professional nie była taka prosta tym bardziej, że poza napędem CD i nagrywarką w moim sprzęcie praktycznie zmieniło się wszystko. Po drugie aby coś doradzić musiałam poznęcać się nad nowym systemem, a co najtrudniejsze - znaleźć czas aby poznać jego tajemnice. Niezależnie od Waszej oceny sama jestem ciągle na etapie pierwszych kroków i właśnie tak postanowiłam zatytułować ten dział.
Po zainstalowaniu Windows XP i oprogramowania z pewnością każdy będzie się starał osiągnąć optymalne ustawienia, zapewniające najwyższą wydajność systemu. Dla wielu, nie mniej ważnym będzie indywidualna wizualizacja, ale pozwólcie, że ten temat pozostawię na później.
Rozpocznę natomiast od zasad efektywnego gospodarowania zasobami systemu i rozwiania kilku mitów związanych z zarządzaniem pamięcią wirtualną.

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ą?
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: "Wola 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.

 

 

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 - zapraszam dalej

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.

 

 

Aby skutecznie wyłączyć usługę musimy wejść przez Panel sterowania do Narzędzi administra- cyjnych, 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.

 

 

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 wykony- walnego, a zatem bardziej przybliży identyfikację procesu np. SVCHOST.EXE.

 

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.

 

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:
i zaznaczamy
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.