Prejsť na obsah
Aktuálny kupón:zľava 10 %Uplatniť v objednávke

Swap na VPS: kedy ho pridať a ako

Čo je swap, kedy pomôže a kedy nie. Vytvoríte swapový súbor, zapnete ho natrvalo cez /etc/fstab, nastavíte swappiness a viete, ako swap zase odobrať.

  • začiatočník
  • ~10 min
  • Aktualizované 9. 10. 2026

Swap je miesto na disku, kam systém odloží dáta z RAM, keď pamäť dochádza. Pridáte ho za pár minút a VPS vďaka nemu nespadne pri krátkej špičke. Ukážeme tiež, kedy swap nepomôže a je potrebné viac RAM.

Čo budete potrebovať

  • VPS u StormHostu s Ubuntu 24.04 alebo Debianom 13
  • Pripojenie cez SSH ako root (návod)
  • Voľné miesto na disku aspoň vo veľkosti swapu (overíte príkazom df -h /)
  • Približne 10 minút

Čo je swap a kedy pomôže#

Keď dôjde RAM a swap nie je, jadro Linuxu spustí OOM killer („out of memory“) a ukončí proces, ktorý zaberá najviac pamäte. Zvyčajne je to práve vaša databáza, herný server alebo aplikácia. V logu potom nájdete Out of memory: Killed process.

So swapom systém najprv odloží málo používané dáta na disk a proces beží ďalej.

SituáciaPomôže swap?
Krátka špička (aktualizácia, kompilácia, záloha)Áno, VPS ju prečká bez pádu.
Dáta, ktoré sa načítajú raz a potom ležia (časť pamäte databázy, nepoužité služby)Áno, uvoľní RAM pre to dôležité.
Aplikácia trvalo potrebuje viac RAM, než má VPSNie. Disk je mnohonásobne pomalší než RAM, aplikácia sa spomalí. Riešením je upgrade RAM.
Herný server (Minecraft, Rust) s plnou pamäťouNie. Server začne sekať. Nastavte mu menšiu pamäť, alebo navýšte RAM.

Zistenie stavu#

bash
swapon --show
free -h
  • swapon --show – vypíše aktívny swap. Keď nevypíše nič, VPS swap nemá (to je pri novom VPS bežné).
  • free -h – ukáže využitie RAM a swapu v čitateľných jednotkách (-h = human readable).

Vo výstupe free -h sledujte stĺpec available na riadku Mem: koľko pamäte majú aplikácie skutočne k dispozícii. Riadok Swap ukazuje veľkosť a využitie swapu.

Aký veľký swap zvoliť#

RAM VPSOdporúčaný swapPrečo
2 GB2 GBMalý VPS dôjde k limitu najľahšie, rezerva sa hodí.
4–⁠8 GB2–⁠4 GBStačí na pokrytie špičiek.
16 GB a viac2–⁠4 GBVäčší swap nemá zmysel. Keď ho VPS naozaj využíva, potrebuje viac RAM.

Swap zaberá miesto na disku, preto ho nerobte zbytočne veľký.

Vytvorenie swapového súboru#

Platí pre Ubuntu 24.04 aj Debian 13. Ako príklad vytvoríme swap s veľkosťou 2 GB v súbore /swapfile.

  1. Vytvorte súbor potrebnej veľkosti:

    bash
    fallocate -l 2G /swapfile
    • fallocate – rýchlo vyhradí miesto na disku pre súbor.
    • -l 2G – veľkosť súboru (2G = 2 GB, pre 4 GB napíšte 4G).
    • /swapfile – cesta k súboru.
  2. Nastavte práva, aby súbor mohol čítať iba root. Vo swape môžu byť kusy pamäte s heslami:

    bash
    chmod 600 /swapfile
    • 600 – čítanie a zápis iba pre vlastníka (root), ostatní nič.
  3. Pripravte súbor ako swap:

    bash
    mkswap /swapfile
    • mkswap – zapíše do súboru hlavičku swapu. Vypíše Setting up swapspace version 1, size = 2 GiB.
  4. Zapnite swap:

    bash
    swapon /swapfile
    • swapon – začne swap používať hneď, ale iba do reštartu.
  5. Skontrolujte výsledok príkazom swapon --show. Uvidíte riadok /swapfile file 2G.

Keď swapon hlási „holes“

Ak swapon vypíše skipping - it appears to have holes, súborový systém neprijal súbor vytvorený cez fallocate. Zmažte ho (rm /swapfile) a vytvorte ho pomalšie, ale spoľahlivo príkazom dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress (count=2048 = 2048 × 1 MB = 2 GB). Potom pokračujte krokom 2.

Trvalé zapnutie cez /etc/fstab#

Aby sa swap zapol aj po reštarte, pridajte ho do súboru /etc/fstab.

  1. Zazálohujte súbor:

    bash
    cp /etc/fstab /etc/fstab.bak
  2. Pridajte na koniec súboru riadok so swapom:

    bash
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    • echo '…' – vypíše text v úvodzovkách.
    • >> – pripojí text na koniec súboru. Pozor, jediné > by celý súbor prepísalo.

    Význam jednotlivých stĺpcov riadka:

    StĺpecHodnotaVýznam
    1. zariadenie/swapfileSúbor so swapom.
    2. prípojný bodnoneSwap sa nikam nepripája.
    3. typswapIde o swap.
    4. voľbyswPredvolené voľby pre swap.
    5. dump0Nezálohovať starým nástrojom dump.
    6. kontrola0Nekontrolovať pri štarte (pri swape sa nekontroluje nikdy).
  3. Overte, že je fstab v poriadku:

    bash
    findmnt --verify
    • findmnt --verify – skontroluje syntax /etc/fstab. Výsledok musí byť Success, no errors or warnings detected, alebo súhrn s 0 parse errors, 0 errors. Samotné varovania (warnings) k iným riadkom štart VPS neohrozia.

Chybný /etc/fstab môže zastaviť štart VPS

Keby VPS po reštarte nenabehol, otvorte konzolu v prehliadači a vráťte zálohu príkazom cp /etc/fstab.bak /etc/fstab.

Swappiness: ako ochotne systém swapuje#

Hodnota vm.swappiness (0–⁠200) hovorí, ako skoro začne jadro odkladať dáta do swapu. Predvolená hodnota je 60. Na serveri je lepšia nižšia hodnota, aby sa swap používal hlavne ako poistka.

NastavenieČo robíOdporúčaná hodnotaKedy zmeniť
vm.swappinessPomer medzi uvoľňovaním medzipamäte súborov a odkladaním pamäte procesov do swapu. Nižšie číslo = menej swapovania.10Na 60 (predvolené) sa vráťte, ak je VPS pri plnej pamäti pomalší než predtým. Hodnota 0 neznamená „swap vypnutý“, iba ho systém použije až v núdzi.
  1. Zistite aktuálnu hodnotu:

    bash
    cat /proc/sys/vm/swappiness
  2. Uložte novú hodnotu do vlastného súboru (Debian 13 už súbor /etc/sysctl.conf nečíta, priečinok /etc/sysctl.d/ funguje na oboch systémoch):

    bash
    echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf
  3. Načítajte nastavenie bez reštartu:

    bash
    sysctl --system
    • sysctl --system – načíta všetky nastavenia z priečinkov sysctl.d. Vo výpise uvidíte riadok vm.swappiness = 10.

Overenie#

  • swapon --show ukazuje /swapfile so správnou veľkosťou.
  • free -h má na riadku Swap nenulovú hodnotu total.
  • Po reštarte VPS je swap aktívny aj bez ručného swapon.

Odobratie swapu#

  1. Vypnite swap: swapoff /swapfile. Ak je swap veľmi využitý, potrvá to dlhšie, pretože sa dáta vracajú do RAM. Keď na to RAM nestačí, príkaz skončí chybou a nič sa nestane.
  2. Zmažte riadok /swapfile none swap sw 0 0 zo súboru /etc/fstab (nano /etc/fstab).
  3. Zmažte súbor: rm /swapfile.

Keď niečo nefunguje#

fallocate: fallocate failed: No space left on device#

Na disku nie je dosť miesta. Zistite voľné miesto príkazom df -h / a zvoľte menší swap, alebo rozšírte disk.

swapon: /swapfile: insecure permissions 0644, 0600 suggested.#

Súbor má príliš otvorené práva. Swap sa síce zapne, ale súbor môže čítať ktokoľvek na VPS. Spustite chmod 600 /swapfile.

swapon: /swapfile: swapon failed: Device or resource busy#

Swap je už zapnutý. Skontrolujte to príkazom swapon --show.

VPS je aj so swapom pomalý a swap je stále plný#

Aplikácie trvalo potrebujú viac pamäte, než VPS má. Zistite, čo pamäť zaberá (htop, triedenie podľa stĺpca MEM%), a buď aplikácii nastavte menšiu pamäť, alebo navýšte RAM v záložke Zmena balíka.

Zhrnutie

  • Swap chráni pred pádom pri krátkom nedostatku RAM, náhradou RAM však nie je.
  • Vytvorenie: fallocate, chmod 600, mkswap, swapon.
  • Natrvalo: riadok /swapfile none swap sw 0 0 v /etc/fstab a kontrola findmnt --verify.
  • Na serveri nastavte vm.swappiness=10 v /etc/sysctl.d/99-swappiness.conf.
  • Plný swap a pomalý VPS znamenajú, že potrebujete viac RAM.

Hľadanie v návodoch