Partycja SWAP – każdy wie, że coś takiego istnieje, ale nie wszyscy wiedzą do czego służy. Lekko zniesmaczony kolejnymi wątkami na forum.ubuntu.pl postanowiłem zebrać do kupy wszystko, co udało mi się znaleźć na ten temat w sieci.
Mam nadzieję Drogi Czytelniku, że po przeczytaniu treści tutaj zawartych zrozumiesz co to jest partycja SWAP, do czego służy i ile należy przeznaczyć na nią miejsca.
Partycja wymiany (SWAP) – systemowa partycja występująca w systemach typu UNIX. Służy do tymczasowego przechowywania danych w sytuacji, gdy ich ilość przekracza zasoby wolnej pamięci RAM lub gdy z różnych powodów korzystniej jest przechowywać je (lub ich część) na dysku twardym.
Fakt 1: jest to wydzielona część Twojego dysku twardego (chociaż nie zawsze!), więc jej rozmiar należy ustawić z głową (o czym później), zwłaszcza w przypadku mniejszych dysków twardych. Korzysta z niej jedynie system, więc jest to dla użytkownika de facto zmniejszenie rzeczywistego rozmiaru dysku twardego (dostępnych zasobów).
Fakt 2: system używa jej wtedy, gdy zostanie przekroczona ilość dostępnej pamięci RAM lub gdy uzna, że lepiej jest przechowywać dane na dysku niż w pamięci. Warto pamiętać, że samodzielnie możesz ustawić jak często system będzie korzystać z partycji SWAP – jednak należy mieć również na uwadze, że zapis i odczyt danych z dysku twardego (SWAP) jest o wiele wolniejszy niż z pamięci RAM.
Pomyśl ile wysiłku musisz włożyć w to, aby zużyć dostępną pamięć RAM. Sam posiadam 3Gb RAM i odkąd pamiętam nigdy nie korzystałem z pamięci SWAP – mimo to jest ona obecna.
Fakt 3: posiadanie partycji SWAP jest zalecane – czy to w formie tradycyjnej czy mniej konwencjonalnej (w pliku). Nigdy nie wiesz z czym będziesz miał do czynienia – nie możesz z góry zakładać, że nigdy nie przekroczysz pamięci RAM, dlatego warto się zabezpieczyć.
Fakt 4: – niejako na podstawie powyższego faktu – istnienie partycji SWAP nie jest koniecznością.
Fakt 5: partycja SWAP jest niezbędna w przypadku hibernacji. Co to hibernacja?
Hibernacja komputera – stan zawieszenia pracy komputera umożliwiający odtworzenie jego pamięci operacyjnej z pamięci masowej.
Pamięć masowa to w naszym przypadku właśnie partycja SWAP. Jeśli chcesz korzystać z hibernacji, to partycja SWAP jest konieczna. A jaki rozmiar? Wystarczy pomyśleć lub przeczytać ponownie to, co napisane jest w pomarańczowej ramce powyżej – odtworzenie pamięci operacyjnej z pamięci masowej. Wniosek jest prosty – partycja SWAP powinna być co najmniej równa rozmiarem ilości pamięci RAM – a najlepiej jeszcze większa! Dlaczego? Chyba nie muszę tłumaczyć (pomyśl co stanie przy hibernacji z tym, co znajduje się w SWAP).
Fakt 6: SWAP znajdujący się na początku dysku jest bardziej wydajny. Na początku dysku prędkość odczytu jest większa, więc jeśli mamy mało pamięci RAM, SWAP będzie wykorzystywany często i będzie działał szybciej (niestety nie dotyczy to wszystkich dysków). Innym sposobem na rozwiązanie problemu szybkości dostępu do pamięci swap jest umieszczenie jej w środku dysku. Dzięki temu głowice będą miały do pokonania mniejszą drogę ze skrajnych obszarów dysku. (źródło: http://slackware.asmonet.net). Chociaż można spotkać się z poglądem, że kolejność nie ma znaczenia – może ktoś obeznany będzie w stanie to wytłumaczyć.
Wielkość zakładanej partycji wymiany uzależniona jest od wielkości fizycznie dostępnej w komputerze pamięci RAM, przeważnie jest ona dwa razy większa. Przy większej niż standardowa dostępności pamięci RAM, wielkość partycji wymiany może być symboliczna (np. 100 MB). Zbytnie zmniejszenie partycji wymiany może znacząco zmniejszyć wydajność komputera, dlatego decydując się na taki zabieg, należy brać pod uwagę także potrzeby oprogramowania i przeznaczenie komputera.
przeważnie jest ona dwa razy większa – do zastosowań serwerowych – ok! Zgadzam się. Jeśli serwer, powtarzam – serwer – poddawany jest naprawdę dużym obciążeniom (obciążeniom pamięci RAM), może okazać się, że nawet 4GB okaże się zbyt mało.
Mit 1 – SWAP = 2xRAM: inaczej sprawa ma się w zastosowaniach domowych. W obecnych czasach równanie SWAP = 2xRAM to totalna bzdura! Kiedyś (gdy komputery miały po 32Mb pamięci RAM) może i miało to jakieś logiczne wytłumaczenie. Dzisiaj, gdy rzadkością stają się komputery z 1Gb pamięci RAM, to stwierdzenie należy odłożyć do lamusa. Oczywiście istnieją również leciutkie wersje Linuksa, które do swobodnej pracy potrzebują około 100Mb RAM – wtedy ustawienie SWAP na poziomie 200Mb nie powinno bardzo dziwić, ale my używamy Ubuntu, systemu, który na start potrzebuje 265Mb RAM (według twórców), a przy uruchomieniu kilku aplikacji do użytku codziennego podchodzi pod 500Mb.
Jeśli nadal nie jesteś przekonany to, wyobraź sobie sytuację (możliwe, że nawet nie musisz jej sobie wyobrażać :) ) – posiadasz komputer z 4Gb RAM, wyczytałeś gdzieś, że SWAP należy ustawić dwukrotnie większy niż pamięć RAM – prosta matematyka 2x4Gb = 8Gb. Instalujesz system, uruchamiasz go – przeglądasz zużycie RAM 300Mb/4000Mb (co?! przecież 1Gb = 1024Mb, co za osioł z tego człowieka! – nie czepiajmy się szczegółów!), odpalasz przeglądarkę internetową, do tego komunikator i klienta poczty – 600Mb/4000Mb. Myślisz sobie – ale mu teraz dowalę – wirtualna maszyna + Windows XP + Photoshop (pomijając legalność tego wszystkiego) – ciągle poniżej 3Gb. Nie jesteś w stanie – przy zwykłym użytkowaniu – zużyć więcej niż 4Gb a co dopiero zapełnić chociaż 1Gb SWAP!
Mit 2 – pamięci SWAP nigdy nie jest zbyt wiele: bzdura! 1Gb SWAP to już za wiele! Ustawienie pamięci SWAP większej niż 1Gb można porównać do zakupu wyścigowego samochodu i jazdy nim jedynie po mieście – pieniądze (miejsce na dysku) wydane, a pełne wykorzystanie (zapełnienie pamięci) nie jest możliwe.
Z czystym sumieniem mogę stwierdzić, że w przypadku posiadania 1Gb pamięci RAM (i więcej) w zupełności wystarczy 500Mb SWAP – ale jest to moje zdanie – znajdą się zwolennicy i przeciwnicy tej tezy, chociaż tych pierwszych będzie więcej.
Mit 3 – SWAP to tylko wydzielona partycja na dysku: nie do końca. Możliwe jest również ustawienie partycji SWAP jako pliku.
Rozmiar partycji SWAP
Jeśli mimo przeczytania tego artykułu, nadal nie wiesz ile miejsca przeznaczyć na partycję SWAP dam Ci jedną, już ostatnią radę – obserwuj zużycie RAM.
Jeśli masz już zainstalowany system skorzystaj z polecenia:
free
Aby uzyskać informacje na temat dostępności pamięci RAM. Jeśli chciałbyś uzyskać bardziej szczegółowe informacje, skorzystaj z:
top
A co w przypadku, gdy nie masz zainstalowanego systemu? Zrób to – tak, zainstaluj system i przydziel mu tyle SWAP ile zechcesz – nawet 100GB (skoro dopiero zaczynasz przygodę z systemem, nic nie staje na przeszkodzie, aby postawić taką testową maszynę (oczywiście 100Gb to żart! ustaw 2Gb :) ), przetestować, a następnie skupić się już na tym bardziej).
Co dalej? To co zasugerowałem w przypadku osób z zainstalowanym systemem: free oraz top.
Obserwujcie, obserwujcie, obserwujcie – to jest moja rada.