Podczas instalacji systemu Linux, pytani jesteśmy o wielkość partycji SWAP, która posłuży nam 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. Wielkość tej partycji ustalamy na podstawie dostępnej pamięci fizycznej w komputerze.
Sposób montowania tej partycji można obejrzeć w pliku /etc/fstab.
/dev/sda2 none swap sw 0 0
Jeżeli posiadamy dużo pamięci RAM możemy ograniczyć lub całkowicie zrezygnować z użycia partycji wymiany. Za tę opcję odpowiedzialny jest parametr vm.swappiness. Współczynnik ten określa jak często i chętnie system korzysta z partycji SWAP. Domyślnie wartość ta ustalona jest na 60. Wartość 0 powoduje rezygnację z użycia SWAPa.
Aktualną wartość można sprawdzić wydając dowolne z poniższych poleceń:
paszczak000@muszelka:~$ cat /proc/sys/vm/swappiness 60 paszczak000@muszelka:~$ sysctl vm.swappiness vm.swappiness = 60
Nadmierne wykorzystanie pamięci SWAP może doprowadzić do tak zwanego swapowania. Jeżeli chcemy zmienić, aby system korzystał ze SWAPa tylko w ostateczności wydajemy jako root polecenie:
sysctl vm.swappiness=5
Należy pamiętać, że takie ustawienia będą działały do następnego restartu systemu. Jeżeli chcemy wprowadzić je na stałe musimy edytować plik /etc/sysctl.conf i dopisać lub zmienić w nim linijkę vm.swappiness=5. Po zmianie ustawień w tym pliku warto wydać polecenie sysctl -p, aby przeładować ustawienia. Możemy również zrezygnować z partycji wymiany na rzecz pliku wymiany.
Przy tworzeniu pliku wymiany może pomóc skrypt mkswap.sh. Uruchamiamy go w następujący sposób:
root@muszelka:~# ./mkswap.sh /boot 1024 fstab
a następnie dopisujemy do /ets/fstab, następującą linijkę:
/boot/swapfile.1024MB swap swap defaults 0 0
Plik taki możemy również stworzyć sami za pomocą podstawowych narzędzi jakie udostępnia nam system. Po ustaleniu wielkości pliku wymiany mnożymy jego wielkość przez 1024 (rozmiar bloku). Jeśli zatem plik wymiany ma zajmować 64 MB to rozmiar jego bloku będzie wynosił 65536. Aby utworzyć ten plik wydajemy polecenia:
root@muszelka:~# dd if=/dev/zero of=/swapfile bs=1024 count=65536 root@muszelka:~# mkswap /swapfile
Następnie możemy włączyć w użycie nasz plik poleceniem swapon /swapfile lub dopisać do /etc/fstab. Wtedy plik wymiany zostanie załadowany dopiero po ponownym uruchomieniu komputera.
Bibliografia
- Red Hat Linux 8.0: The Official Red Hat Linux Customization Guide
- Linux add a swap file howto
- Szybkie tworzenie pliku wymiany SWAP









Przydałoby się wspomnieć o możliwości rezygnacji z partycji SWAP na rzecz pliku wymiany.
Mówisz i masz. Poszerzyłem artykuł ;-)
Sorry, ale rozpowszechniacie szkodliwe bzdury. Nie powinno się zabierać głosu w tonie porady, w sprawach, o których nie ma się pojęcia.
Ciekawie jakie zen7 znalazłeś tutaj bzdury?. Pewnie jesteś kolejnym trollem, który chce się wylansować.
Też mam takie odczucie. Bo tekst ciekawy i mi się podoba ;)
Zgadzam się z zen7. Domyślne ustawienia są jakie są nie bez powodu. System powinien używać swapa nie dopiero wtedy, gdy mu zaczyna brakować pamięci. To prowadzi do sytuacji, gdy do swapa trafia po prostu to, co się nie zmieściło; często bardzo potrzebne rzeczy. System POWINIEN używać swapa bardzo wcześnie, np. gdy ma zużycie 50% RAM-u. Linux pakuje tam rzeczy, do których system rzadko się odwołuje. Powoduje to leciutki (bo przecież są to rzeczy rzadko używane!) narzut wydajnościowy, którego nikt nie poczuje, a za to gdy RAM-u zaczyna brakować, system nagle nie zwolni.
Nie polecam bawić się w takie rzeczy ludziom, którzy nie wiedzą, w jakim celu przyjęto domyślne rozwiązanie. Bo przecież nie na złość użytkownikom.
A jeśli ktoś ma na tyle dużo RAM-u, że sądzi, że swap my niepotrzebny, może go przecież wyłączyć całkowicie. Ja tak zrobiłem na swoim kompie z 4 GB pamięci.
Dodaj komentarz