Optymalizacja wykorzystywania partycji SWAP

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Na temat SWAP powstał już artykuł – Partycja SWAP – fakty i mity, więc wszelki komentarz jest zbędny.

Wartość parametru vm.swappiness, który odpowiada za to, kiedy system skorzysta ze SWAP, domyślnie ustawiona jest na 60, co możesz sprawdzić poleceniem (o ile nic wcześniej nie zmieniałeś):

sysctl vm.swappiness

Nie jest to optymalna wartość i może dojść do sytuacji, w której nawet w przypadku 4GB RAM system zapisze coś na dysku – co wiąże się ze zmniejszeniem komfortu pracy – zapis i odczyt z dysku twardego jest o wiele dłuższy niż z pamięci RAM. Im mniejsza wartość tego parametru, tym system rzadziej będzie korzystać ze SWAP – będzie wykorzystywał RAM do maksimum. Wartość 0 oznacza całkowite wyłączenie partycji SWAP.

Aby tymczasowo (do ponownego uruchomienia komputera) zmienić ten parametr użyj polecenia:

sudo sysctl vm.swappiness=wartość

Gdzie wartość to liczba z przedziału od 0 (wyłączenie SWAP) do 60 (wartość domyślna) – przypominam – im mniejszy parametr tym system rzadziej będzie korzystać ze SWAP.

Tak jak wspomniałem, jest to tylko rozwiązanie tymczasowe, aby na stałe wprowadzić zmiany edytuj plik /etc/sysctl.conf:

sudo gedit /etc/sysctl.conf

I dodaj nową linijkę:

vm.swappiness=wartość

Zapisz plik (CTRL + S). Aby przeładować ustawienia bez konieczności ponownego uruchamiania komputera, wydaj polecenie:

sudo sysctl -p

W oknie powinna ukazać się informacja o nowej wartości parametru.

Źródło: http://radoslav.jogger.pl/2009/09/27/swappiness-nigdy-wiecej-swap/

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Greg

    Lepszy artykuł: Jak kontrolować SWAPowanie?.

    • Szmitas

      Dlaczego lepszy? Traktuje o innym sposobie, który też w swoim czasie się pojawi :]

  • RafciX

    Jedno pytanie. Jak ustawi się tą wartość na 0 (zero) to będzie potem szło zahibernować komputer, o ile ma się SWAPu tyle samo ile ma się pamięci RAM?