Späť na nástroje

Kalkulačka veľkosti RAM a swapu

Zadajte RAM a typ záťaže a dostanete odporúčanú veľkosť swapu aj presné príkazy — plus spätnú kontrolu pre server, ktorý už máte nastavený. Prípad herného servera riešime na rovinu: zvyčajne chce málo alebo žiadny swap.

Váš server

RAM a typ záťaže

Toto je východisková heuristika, nie záruka — reálne záťaže sa líšia. Sledujte skutočný pamäťový tlak a upravujte podľa potreby.

Odporúčanie

Veľkosť swapu
2 GB
vm.swappiness
60 (predvolená)
Heuristika, nie dogma. Použitá heuristika: swap = RAM do 2 GB, potom približne polovica RAM, upravené pre webový server (nginx/php/node, stredná záťaž) a obmedzené stropom, aby sa nenafukoval na veľmi veľkých inštanciách. Berte to ako východiskový bod — sledujte skutočné využitie swapu (free -h, vmstat) a upravte podľa potreby, neverte tomu naslepo.

Príkazy

Vytvoriť a zapnúť swapovací súbor

Spustite ako root alebo cez sudo. Vytvorí súbor, uzamkne ho len pre vlastníka, naformátuje ho, aktivuje a zaistí, že prežije reštart.

1 — alokácia súboru (fallocate, rýchla cesta)

fallocate -l 2G /swapfile

Niektoré súborové systémy (najmä ZFS a staršie nastavenia Btrfs) fallocate pre swapovacie súbory nepodporujú. Ak k tomu dôjde, použite namiesto toho dd — pomalšie, ale funguje všade:

1b — záloha (dd)

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

2 — uzamknúť oprávnenia

chmod 600 /swapfile

Swapovací súbor čitateľný pre ostatných používateľov je reálne riziko — čokoľvek jadro niekedy odloží na disk, vrátane údajov, ktoré boli krátko v RAM, môže skončiť v tomto súbore.

3 — naformátovať a aktivovať

mkswap /swapfile
swapon /swapfile

4 — zachovať po reštarte (/etc/fstab)

/swapfile none swap sw 0 0

Pridajte tento riadok do /etc/fstab — súbor neprepisujte.

5 — nastaviť vm.swappiness (trvalo)

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

Pozadie

Čo vm.swappiness skutočne robí a kedy swap pomáha

Jeden parameter jadra od 0 do 100, ktorý určuje, ako ochotne odkladá pamäťové stránky do swapu, ešte kým to nutne nemusí.

  • Čo to číslo znamená: vm.swappiness (0–100) hovorí jadru, ako ochotne presúvať pamäťové stránky do swapu, ešte kým to nebude nutne musieť. Nízke hodnoty znamenajú "swapuj len keď RAM takmer dochádza"; vysoké hodnoty znamenajú "ochotnejšie swapuj studené stránky, drž viac RAM voľnej pre cache."
  • Kedy swap naozaj pomáha: Pri nárazovej záťaži (výkyvy návštevnosti webového servera) a ako poistka proti OOM killeru — proces spomalený swapom sa skoro vždy dá zachrániť, zabitý proces nie.
  • Kedy len zamaskúva nedostatok: Ak je swap trvalo a intenzívne využívaný namiesto občasného použitia pri výkyve, znamená to, že záťaž sa už do RAM nezmestí a ticho beží každý deň pomalšie, namiesto toho, aby raz hlučne zlyhala.
  • Ako to rozoznať: Sledujte využitie swapu v čase (free -h, vmstat 1 alebo swapon --show). Občasné výkyvy, ktoré zase odznejú, sú v poriadku. Ak využitie swapu zostáva vysoké alebo ďalej rastie, je čas pridať RAM, nie swap.

Prevádzkuješ vlastný herný server?

Herné servery Wespner s DDoS ochranou, NVMe diskami a aktiváciou do pár minút.

Prezrieť hosting