−25%

na Windows przy płatności rocznej, do 31.10. Do planów

EQVPS

Jak dodać plik swap na VPS-ie z Linuksem

Utwórz plik swap w pięciu poleceniach, zachowaj go po restarcie i ustaw swappiness, a do tego ile swapu dodać i kiedy prawdziwym rozwiązaniem jest więcej RAM-u.

Małym serwerom pamięć kończy się w najgorszym momencie: przy apt upgrade, buildzie Dockera, nocnej kopii zapasowej. Bez swapu OOM killer jądra wybiera proces i go zabija, często twoją bazę danych. Plik swap to tani pas bezpieczeństwa, który daje tym skokom ujście. Wystarczy pięć poleceń.

1. Sprawdź, co masz

swapon --show
free -h

Jeśli swapon --show nic nie wypisuje, swapu jeszcze nie ma.

2. Utwórz plik swap

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

chmod 600 jest ważne: swap może zawierać fragmenty wszystkiego, co było w pamięci, łącznie z sekretami, więc czytać go powinien tylko root. Jeśli fallocate zwróci błąd „operation not supported”, użyj zamiast niego dd:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Utrwal go

Bez tego kroku swap zniknie po restarcie:

echo '/swapfile none swap sw 0 0' >> /etc/fstab

4. Ustaw swappiness

Poproś jądro, żeby preferowało RAM i używało swapu głównie pod presją:

echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system

5. Sprawdź

swapon --show
free -h

Powinieneś zobaczyć urządzenie swap o rozmiarze 2 GB, a cat /proc/sys/vm/swappiness powinno wypisać 10.

Jak duży?

Nie dobieraj swapu według zasady „dwa razy tyle co RAM”. Na serwerze swap ma amortyzować krótkie skoki, a nie uruchamiać obciążenia, które nie mieszczą się w pamięci.

Kiedy swap nie jest odpowiedzią

Obserwuj go przez kilka dni:

vmstat 5

Kolumny si i so pokazują strony wczytywane ze swapu i zapisywane do niego na sekundę. Sporadyczna aktywność jest normalna. Stałe wartości niezerowe oznaczają, że serwerowi brakuje pamięci i wszystko czeka na dysk. Wtedy rozwiązaniem jest więcej RAM-u: zobacz, ile RAM-u potrzebuje VPS. W EQVPS możesz przejść na wyższy plan bez reinstalacji; twoje dane zostają na miejscu.

Powiązane

FAQ

Ile swapu dodać?

Na serwerach z 1–2 GB RAM-u plik swap 1–2 GB to dobry standard. Na większych serwerach 1–2 GB nadal wystarcza jako siatka bezpieczeństwa: zasada „dwa razy tyle co RAM” pochodzi z czasów maszyn z 256 MB.

Czy swap przyspieszy mój serwer?

Nie. Swap tylko zapobiega awariom, gdy na chwilę skończy się pamięć: przy aktualizacji pakietów, buildzie Dockera, kopii zapasowej. Strony pamięci na dysku są tysiące razy wolniejsze od RAM-u. Jeśli serwer ciągle używa swapu, potrzebuje więcej RAM-u.

Co robi swappiness?

Określa, jak chętnie jądro przenosi nieużywaną pamięć do swapu. Domyślne 60 robi to dość wcześnie; 10 mówi jądru, żeby trzymało dane w RAM-ie i sięgało po swap głównie pod prawdziwą presją, co pasuje do większości serwerów.

Dlaczego plik swap, a nie partycja?

Plik tworzysz, zmieniasz jego rozmiar i usuwasz w kilka sekund na działającym serwerze, bez ruszania tablicy partycji. Na nowoczesnych systemach plików wydajność jest taka sama.

Jak później usunąć swap?

Uruchom 'swapoff /swapfile', usuń linię z /swapfile w /etc/fstab, a potem 'rm /swapfile'.

Komentarze

Brak komentarzy. Bądź pierwszy.

Zostaw komentarz

Komentarze są moderowane przed pojawieniem się.