Powrót do narzędzi

Kalkulator rozmiaru RAM i Swap

Podaj ilość RAM-u i typ obciążenia, a otrzymasz rekomendację rozmiaru swap wraz z dokładnymi poleceniami — plus odwrotną weryfikację dla serwera, który już skonfigurowałeś. Przypadek serwera gry jest potraktowany uczciwie: zwykle potrzebuje mało swapu albo wcale.

Twój serwer

RAM i obciążenie

To heurystyka będąca punktem wyjścia, nie gwarancja — rzeczywiste obciążenia się różnią. Obserwuj faktyczną presję na pamięć i dostosuj wartość.

Rekomendacja

Rozmiar swap
2 GB
vm.swappiness
60 (domyślny)
Heurystyka, nie dogmat. Użyta heurystyka: swap = RAM do 2 GB, potem mniej więcej połowa RAM-u, dostosowana do serwer www (nginx/php/node, umiarkowany ruch) i ograniczona, aby nie rosła w nieskończoność na bardzo dużych instancjach. Traktuj to jako punkt wyjścia — obserwuj rzeczywiste użycie swapu (free -h, vmstat) i dostosowuj wartość, zamiast ślepo jej ufać.

Polecenia

Utwórz i włącz plik swap

Uruchom jako root lub z sudo. Tworzy plik, blokuje go do dostępu tylko dla właściciela, formatuje, aktywuje i sprawia, że przetrwa restart.

1 — zaalokuj plik (fallocate, szybka ścieżka)

fallocate -l 2G /swapfile

Niektóre systemy plików (zwłaszcza ZFS oraz starsze konfiguracje Btrfs) nie obsługują fallocate dla plików swap. Jeśli tak się stanie, wróć do dd — wolniejsze, ale działa wszędzie:

1b — rozwiązanie zapasowe (dd)

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

2 — zablokuj uprawnienia

chmod 600 /swapfile

Plik swap czytelny dla innych użytkowników to realne zagrożenie — wszystko, co jądro kiedykolwiek wyrzuci na dysk, w tym sekrety, które przez chwilę były w RAM-ie, może wylądować w tym pliku.

3 — sformatuj i aktywuj

mkswap /swapfile
swapon /swapfile

4 — zachowaj po restartach (/etc/fstab)

/swapfile none swap sw 0 0

Dopisz tę linię do /etc/fstab — nie nadpisuj pliku.

5 — ustaw vm.swappiness (trwale)

sudo sysctl vm.swappiness=60
echo 'vm.swappiness=60' | sudo tee -a /etc/sysctl.conf

Kontekst

Co właściwie robi vm.swappiness i kiedy swap pomaga

Pojedynczy parametr jądra od 0 do 100, który decyduje, jak chętnie wyrzuca strony pamięci, zanim będą absolutnie potrzebne.

  • Co oznacza ta liczba: vm.swappiness (0–100) informuje jądro, jak chętnie ma przenosić strony pamięci do swapu, zanim będzie to absolutnie konieczne. Niskie wartości oznaczają „swapuj tylko wtedy, gdy RAM jest prawie wyczerpany”; wysokie wartości oznaczają „chętniej wyrzucaj zimne strony, zostawiaj więcej RAM-u wolnego na cache”.
  • Kiedy swap naprawdę pomaga: Przy skokowych obciążeniach (skoki ruchu serwera WWW) oraz jako zabezpieczenie przed OOM killerem — proces spowolniony przez swap niemal zawsze da się przywrócić do normy, proces zabity już nie.
  • Kiedy maskuje niedobór: Jeśli swap jest wykorzystywany stale i intensywnie, zamiast tylko okazjonalnie podczas skoków, oznacza to obciążenie, które przestało mieścić się w RAM-ie — działa po cichu coraz wolniej każdego dnia, zamiast raz głośno zawieść.
  • Jak rozpoznać różnicę: Sprawdzaj użycie swapu w czasie (free -h, vmstat 1 lub swapon --show). Okazjonalne skoki, które wracają do normy, są zdrowe. Użycie swapu, które pozostaje wysokie lub stale rośnie, oznacza, że czas dodać RAM, nie swap.

Prowadzisz własny serwer gier?

Serwery gier Wespner z ochroną DDoS, dyskami NVMe i aktywacją w kilka minut.

Zobacz hosting