Skip to content
VDS · Monitoring a výkon

Pamäť a swap: kedy je čas na vyšší tier

Ako rozlíšiť normálne využitie pamäte od nedostatku, prečo je swap potrebný na malom tieri a podľa akých znakov sa rozhodnúť prejsť na vyšší plán.

Aktualizované 23. augusta 2026

„120 MB voľných z 2 GB“ straší nováčikov a na Linuxe neznamená nič: systém zámerne využíva voľnú pamäť na vyrovnávaciu pamäť súborov, pretože prázdna pamäť je nanič. Skutočný obraz dáva iný stĺpec.

Ako správne čítať free

free -h
#               total  used   free  shared  buff/cache  available
# Mem:          1.9Gi  742Mi  102Mi    18Mi       1.1Gi      1.0Gi
# Swap:         1.0Gi  126Mi  898Mi

Pozeraj na available — koľko pamäte môže aplikácia získať uvoľnením vyrovnávacej pamäte. Kým je táto hodnota výrazne nad nulou, stroj je v poriadku. free je v tomto zmysle nanič.

Varovné signály:

  • available je menej ako 10 % z total;
  • Swap used rastie a neuvoľňuje sa;
  • vo vmstat 2 sú si/so nenulové a konštantné — systém nepretržite odkladá na disk.

Čo presne zožiera pamäť:

ps aux --sort=-%mem | head -10
smem -tk -s uss 2>/dev/null | tail -10

Swap: potrebný alebo nie

Malý swap je užitočný pri akejkoľvek úrovni: dáva systému priestor presunúť stránky, ktoré sa dlho nepoužívali, a chráni pred okamžitým pádom procesu počas krátkeho špičkového zaťaženia. Nie je náhradou pamäte — disk je stokrát pomalší.

Vytvor 2 GB swap súbor:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

Pribrz chuť systému swapovať:

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

Maj na pamäti, že swap súbor zaberá miesto na disku danej úrovne (40 GB na VDS-1) a zápis doňho spotrebúva rýchlostnú kapacitu disku, pozri Záťaž disku.

Únik alebo málo pamäte

Graf pamäte v paneli /hosting/vds/m/<id> v týždennom meradle pomáha rozlíšiť jedno od druhého:

  • Píla — rastie k stropu, po reštarte služby spadne, znovu rastie. Ide o únik v aplikácii; vyššia úroveň problém len odloží.
  • Plošina na strope hneď od začiatku — pracovná množina jednoducho nemá dosť miesta.
  • Prudký pokles — OOM killer zabil proces; pozri článok Nedostatok pamäte.

Pred zmenou plánu sa postaraj o zjavné veci: obmedz SystemMaxUse pre journal, nastav rozumné limity pre databázu (MySQL si štandardne pýta dosť veľa), odstráň nevyužívané služby (systemctl list-units --type=service --state=running) a zníž počet workerov pre PHP-FPM a Gunicorn.

Kedy prejsť na vyššiu úroveň

Ak po uprataní zostáva available celé týždne blízko nuly, swap je neustále využívaný a aplikáciu potrebuješ ako celok, vezmi vyššiu úroveň. Pamäť rastie v rade 2, 4, 8, 16, 24, 32 GB. Prechody sú len nahor, s doplatkom za zostávajúce dni; prechody nadol nie sú dostupné: disk sa nezmenšuje. Podrobnosti nájdeš v článku Prechod na vyšší plán.

Časté chyby

  • Úplné vypnutie swapu. Počas špičky systém proces zabije, namiesto aby prežil minútu.
  • Swap veľkosti disku. Stroj neumrie, ale bude sa plaziť celé hodiny, čo je horšie než rýchly pád.
  • Pozeranie na VIRT v htop. Virtuálna veľkosť pri JVM, PostgreSQL a Node je obrovská a neodráža spotrebu. Pozeraj na RES.

Pamäť treba kontrolovať pred výpadkom, nie po ňom. Nastav upozornenia na prahové hodnoty — jednoduchý recept nájdeš v článku Upozornenia na výpadok stránky.