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:
availableje menej ako 10 % ztotal;Swap usedrastie a neuvoľňuje sa;- vo
vmstat 2súsi/sonenulové 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
VIRTv htop. Virtuálna veľkosť pri JVM, PostgreSQL a Node je obrovská a neodráža spotrebu. Pozeraj naRES.
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.