Dodanie przestrzeni Swap w Ubuntu

      Brak komentarzy do Dodanie przestrzeni Swap w Ubuntu

Swap to przestrzeń na dysku twardym, która jest wykorzystywana w momencie zapełnienia pamięci RAM. Linux przeniesie część nieaktywnych danych z pamięci RAM do swap.

Swap może mieć postać pliku lub oddzielnej partycji. Niżej opiszę jak dodać lub zwiększyć istniejący plik swap.

Dodanie przestrzeni swap.

Na początek sprawdźmy czy nasz system ma włączoną przestrzeń swap.
sudo swapon --show

Jeżeli powyższe polecenie nic nie zwróci oznacza to iż swap jest nie aktywny. W innym przypadku otrzymamy coś takiego:
NAME TYPE SIZE USED PRIO
/swapfile file 4G 2,4G -2

Tworzymy plik swap:
sudo fallocate -l 4G /swapfile
lub jeżeli nie mamy zainstalowanej aplikacji fallocate
sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304

Nadajemy uprawnienia:
sudo chmod 600 /swapfile

Tworzymy przestrzeń swap:
sudo mkswap /swapfile

Uruchamiamy swap:
sudo swapon /swapfile

Dodajemy poniższą informację o naszej przestrzeni swap do pliku /etc/fstab aby była aktywowana podczas uruchamiania systemu:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Sprawdzamy czy swap jest aktywny:
sudo swapon --show

Usuwanie przestrzeni swap.

Wyłączamy swap:
sudo swapoff -v /swapfile

Usuwamy plik swap:
sudo rm /swapfile

Komentujemy lub usuwamy wpis z /etc/fstab:
sudo sed -i 's/\/swapfile/#\/swapfile/g' /etc/fstab

Tweaki swapowania systemu.

Domyślną wartością systemie jest 60 co oznacza, że w przypadku zapełnienia pamięci RAM w 60% kernel zacznie zrzucać dane do przestrzeni swap. Im większa liczba kernel agresywniej będzie korzystać ze swap.
Sprawdzamy co mamy ustawione:
cat /proc/sys/vm/swappiness

Zapewne wynikiem będzie liczba 60 czyli jest ok. Niemniej jednak jeżeli chcielibyśmy zmienić tą wartość wydajemy następujące polecenie:
sudo sysctl vm.swappiness=30

Info:

Z reguły tworzymy Swap=RAM w przypadku desktopów z 16GB/32GB RAM nie ma konieczności w ogóle tworzyć swapu o ile nie wykonujemy skomplikowanych operacji. W przypadku serwerów swap jest wręcz konieczny oraz desktopów z pamięcią<=8GB RAM.