Přejít na obsah
Aktuální kupón:sleva 10 %Uplatnit v objednávce

Swap na VPS: kdy ho přidat a jak

Co je swap, kdy pomůže a kdy ne. Vytvoříte swapový soubor, zapnete ho natrvalo přes /etc/fstab, nastavíte swappiness a víte, jak swap zase odebrat.

  • začátečník
  • ~10 min
  • Aktualizováno 1. 10. 2026

Swap je místo na disku, kam systém odloží data z RAM, když paměť dochází. Přidáte ho za pár minut a VPS díky němu nespadne při krátké špičce. Ukážeme také, kdy swap nepomůže a je potřeba víc RAM.

Co budete potřebovat

  • VPS u StormHostu s Ubuntu 24.04 nebo Debianem 13
  • Připojení přes SSH jako root (návod)
  • Volné místo na disku aspoň o velikosti swapu (ověříte příkazem df -h /)
  • Asi 10 minut

Co je swap a kdy pomůže#

Když dojde RAM a swap není, jádro Linuxu spustí OOM killer („out of memory“) a ukončí proces, který zabírá nejvíc paměti. Obvykle je to právě vaše databáze, herní server nebo aplikace. V logu pak najdete Out of memory: Killed process.

Se swapem systém nejdřív odloží málo používaná data na disk a proces běží dál.

SituacePomůže swap?
Krátká špička (aktualizace, kompilace, záloha)Ano, VPS ji přečká bez pádu.
Data, která se načtou jednou a pak leží (část paměti databáze, nepoužité služby)Ano, uvolní RAM pro to důležité.
Aplikace trvale potřebuje víc RAM, než má VPSNe. Disk je mnohonásobně pomalejší než RAM, aplikace se zpomalí. Řešením je upgrade RAM.
Herní server (Minecraft, Rust) s plnou pamětíNe. Server začne sekat. Nastavte mu menší paměť, nebo navyšte RAM.

Zjištění stavu#

bash
swapon --show
free -h
  • swapon --show – vypíše aktivní swap. Když nevypíše nic, VPS swap nemá (to je u nové VPS běžné).
  • free -h – ukáže využití RAM a swapu v čitelných jednotkách (-h = human readable).

Ve výstupu free -h sledujte sloupec available na řádku Mem: kolik paměti mají aplikace skutečně k dispozici. Řádek Swap ukazuje velikost a využití swapu.

Jak velký swap zvolit#

RAM VPSDoporučený swapProč
2 GB2 GBMalá VPS dojde k limitu nejsnáz, rezerva se hodí.
4–⁠8 GB2–⁠4 GBStačí na pokrytí špiček.
16 GB a víc2–⁠4 GBVětší swap nemá smysl. Když ho VPS opravdu využívá, potřebuje víc RAM.

Swap zabírá místo na disku, proto ho nedělejte zbytečně velký.

Vytvoření swapového souboru#

Platí pro Ubuntu 24.04 i Debian 13. Jako příklad vytvoříme swap o velikosti 2 GB v souboru /swapfile.

  1. Vytvořte soubor potřebné velikosti:

    bash
    fallocate -l 2G /swapfile
    • fallocate – rychle vyhradí místo na disku pro soubor.
    • -l 2G – velikost souboru (2G = 2 GB, pro 4 GB napište 4G).
    • /swapfile – cesta k souboru.
  2. Nastavte práva, aby soubor mohl číst jen root. Ve swapu můžou být kusy paměti s hesly:

    bash
    chmod 600 /swapfile
    • 600 – čtení a zápis jen pro vlastníka (root), ostatní nic.
  3. Připravte soubor jako swap:

    bash
    mkswap /swapfile
    • mkswap – zapíše do souboru hlavičku swapu. Vypíše Setting up swapspace version 1, size = 2 GiB.
  4. Zapněte swap:

    bash
    swapon /swapfile
    • swapon – začne swap používat hned, ale jen do restartu.
  5. Zkontrolujte výsledek příkazem swapon --show. Uvidíte řádek /swapfile file 2G.

Když swapon hlásí „holes“

Pokud swapon vypíše skipping - it appears to have holes, souborový systém nepřijal soubor vytvořený přes fallocate. Smažte ho (rm /swapfile) a vytvořte ho pomaleji, ale spolehlivě příkazem dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress (count=2048 = 2048 × 1 MB = 2 GB). Pak pokračujte krokem 2.

Trvalé zapnutí přes /etc/fstab#

Aby se swap zapnul i po restartu, přidejte ho do souboru /etc/fstab.

  1. Zazálohujte soubor:

    bash
    cp /etc/fstab /etc/fstab.bak
  2. Přidejte na konec souboru řádek se swapem:

    bash
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    • echo '…' – vypíše text v uvozovkách.
    • >> – připojí text na konec souboru. Pozor, jediné > by celý soubor přepsalo.

    Význam jednotlivých sloupců řádku:

    SloupecHodnotaVýznam
    1. zařízení/swapfileSoubor se swapem.
    2. přípojný bodnoneSwap se nikam nepřipojuje.
    3. typswapJde o swap.
    4. volbyswVýchozí volby pro swap.
    5. dump0Nezálohovat starým nástrojem dump.
    6. kontrola0Nekontrolovat při startu (u swapu se nekontroluje nikdy).
  3. Ověřte, že je fstab v pořádku:

    bash
    findmnt --verify
    • findmnt --verify – zkontroluje syntaxi /etc/fstab. Výsledek musí být Success, no errors or warnings detected, nebo souhrn s 0 parse errors, 0 errors. Samotná varování (warnings) k jiným řádkům start VPS neohrozí.

Chybný /etc/fstab může zastavit start VPS

Kdyby VPS po restartu nenaběhla, otevřete konzoli v prohlížeči a vraťte zálohu příkazem cp /etc/fstab.bak /etc/fstab.

Swappiness: jak ochotně systém swapuje#

Hodnota vm.swappiness (0–⁠200) říká, jak brzy začne jádro odkládat data do swapu. Výchozí hodnota je 60. Na serveru je lepší nižší hodnota, aby se swap používal hlavně jako pojistka.

NastaveníCo děláDoporučená hodnotaKdy změnit
vm.swappinessPoměr mezi uvolňováním mezipaměti souborů a odkládáním paměti procesů do swapu. Nižší číslo = méně swapování.10Na 60 (výchozí) se vraťte, pokud je VPS při plné paměti pomalejší než předtím. Hodnota 0 neznamená „swap vypnutý“, jen ho systém použije až v nouzi.
  1. Zjistěte aktuální hodnotu:

    bash
    cat /proc/sys/vm/swappiness
  2. Uložte novou hodnotu do vlastního souboru (Debian 13 už soubor /etc/sysctl.conf nečte, složka /etc/sysctl.d/ funguje na obou systémech):

    bash
    echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf
  3. Načtěte nastavení bez restartu:

    bash
    sysctl --system
    • sysctl --system – načte všechna nastavení ze složek sysctl.d. Ve výpisu uvidíte řádek vm.swappiness = 10.

Ověření#

  • swapon --show ukazuje /swapfile se správnou velikostí.
  • free -h má na řádku Swap nenulovou hodnotu total.
  • Po restartu VPS je swap aktivní i bez ručního swapon.

Odebrání swapu#

  1. Vypněte swap: swapoff /swapfile. Pokud je swap hodně využitý, potrvá to déle, protože se data vracejí do RAM. Když na to RAM nestačí, příkaz skončí chybou a nic se nestane.
  2. Smažte řádek /swapfile none swap sw 0 0 ze souboru /etc/fstab (nano /etc/fstab).
  3. Smažte soubor: rm /swapfile.

Když něco nefunguje#

fallocate: fallocate failed: No space left on device#

Na disku není dost místa. Zjistěte volné místo příkazem df -h / a zvolte menší swap, nebo rozšiřte disk.

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

Soubor má příliš otevřená práva. Swap se sice zapne, ale soubor může číst kdokoli na VPS. Spusťte chmod 600 /swapfile.

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

Swap je už zapnutý. Zkontrolujte to příkazem swapon --show.

VPS je i se swapem pomalá a swap je pořád plný#

Aplikace trvale potřebují víc paměti, než VPS má. Zjistěte, co paměť zabírá (htop, třídění podle sloupce MEM%), a buď aplikaci nastavte menší paměť, nebo navyšte RAM v záložce Změna balíčku.

Shrnutí

  • Swap chrání před pádem při krátkém nedostatku RAM, náhradou RAM ale není.
  • Vytvoření: fallocate, chmod 600, mkswap, swapon.
  • Natrvalo: řádek /swapfile none swap sw 0 0 v /etc/fstab a kontrola findmnt --verify.
  • Na serveru nastavte vm.swappiness=10 v /etc/sysctl.d/99-swappiness.conf.
  • Plný swap a pomalá VPS znamenají, že potřebujete víc RAM.

Hledání v návodech