Koľko RAM potrebuje VPS: pravidlo pre každé použitie

Pamäť je zdroj, ktorý najčastejšie určuje veľkosť servera: dochádza ako prvá, a keď dôjde, server nespomalí, ale začne zastavovať služby. Tento sprievodca uvádza pravidlo výpočtu, spotrebu jednotlivých častí aplikácie, typické profily a spôsob, ako merať na serveri, ktorý už beží.

Publikované 15. októbra 2026 Autor: Čas čítania: 9 minút

Všetci sprievodcovia

To najdôležitejšie

  1. Sčítajte všetko, čo zostáva v pamäti trvalo: systém, webový server, každý proces aplikácie, databázu, cache.
  2. Dimenzujte podľa špičky, nie podľa priemeru: kompilácia, záloha alebo plánovaná úloha môžu na niekoľko minút zdvojnásobiť spotrebu.
  3. Pridajte 25 % rezervu. Pamäť, ktorá zostane voľná, slúži ako vyrovnávacia pamäť disku a zrýchľuje databázu.
  4. Na serveri, ktorý už beží, čítajte stĺpec available príkazu free -h, nie stĺpec free.
  5. Keď pamäť dôjde, Linux zastaví niektorý proces, často ten najväčší: databázu. Služba, ktorá sa sama reštartuje, je prvým znakom, ktorý treba sledovať.
  6. Zvoľte veľkosť, z ktorej sa dá prejsť vyššie bez reinštalácie: potreby aplikácie v produkcii rastú spolu s jej údajmi.

Pravidlo: sčítať, čo zostáva v pamäti

Server nespotrebúva pamäť „všeobecne“: každý spustený program si drží svoju časť, kým beží. Výpočet preto vychádza zo zoznamu procesov, ktoré bežia trvalo, a potom pripočíta špičku a rezervu:

Potrebná pamäť = (systém + trvalé služby + špička príležitostných úloh) × 1,25

Koľko spotrebuje každá časť

Nasledujúce rádové hodnoty platia pre bežne veľkú aplikáciu meranú v produkcii. Slúžia ako východiskový bod; posledné slovo má vždy meranie na vašej vlastnej aplikácii, opísané nižšie.

ČasťTypická pamäťČo ju ovplyvňuje
Nginx, Caddy (webový server, proxy)10 až 50 MBTakmer konštantná: počet pripojení má malý vplyv.
PHP-FPM (WordPress, Laravel, Symfony)40 až 80 MB na procesPočet procesov, obmedzený parametrom pm.max_children: 10 procesov znamená 400 až 800 MB.
Node.js (API, Next.js, NestJS)60 až 300 MB na procesPočet procesov (režim cluster, PM2) a veľkosť haldy, obmedzená parametrom --max-old-space-size.
Python (Django, FastAPI, Flask)80 až 200 MB na procesPočet workerov Gunicorn alebo Uvicorn a načítané knižnice: pandas alebo model strojového učenia pridajú stovky MB.
Java (Spring Boot)300 MB až 1 GB na aplikáciuMaximálna veľkosť haldy: JVM si predvolene vyhradí štvrtinu pamäte, ktorú vidí.
Go, Rust10 až 100 MBÚdaje, ktoré si aplikácia sama drží v pamäti.
PostgreSQL25 % pamäte pre shared_buffers, plus niekoľko MB na pripojenieObjem často čítaných údajov, počet pripojení, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, predvolene 128 MBNa serveri vyhradenom pre databázu tento buffer bežne zaberá až 80 % pamäte.
RedisVeľkosť údajov plus ich štruktúryPočas ukladania na disk sa upravené stránky duplikujú: v najhoršom prípade až dvojnásobok.
Elasticsearch, OpenSearchAspoň 2 GB pre halduHalda neprekročí polovicu pamäte: zvyšok slúži ako cache súborov.

Pri aplikáciách v JavaScripte sa často opakuje jedna špička: kompilácia (build). Príkaz npm run build na projekte Next.js, Nuxt alebo Angular si bežne sám vyžiada 1 až 2 GB na niekoľko minút, navyše k tomu, čo už beží. Kompilovať na serveri znamená dimenzovať na túto špičku; kompilovať na svojom počítači alebo v CI a na server nahrať len výsledok znamená sa jej vyhnúť.

Rovnaká úvaha platí pre kontajnery Docker: každý kontajner je súbor procesov ako ktorékoľvek iné a démon Dockeru pridáva vlastnú spotrebu. Príkaz docker stats ukáže, koľko zaberá každý z nich.

Typické profily

Tieto profily sčítavajú predchádzajúce časti vrátane špičky a rezervy. Predpokladajú bežne veľkú aplikáciu a návštevnosť pri spustení; objemná databáza alebo trvalo vysoká návštevnosť posúvajú hodnotu nahor.

Čo beží na serveriPotrebná pamäť
Statický web, proxy, malý bot alebo plánovaný skript1 až 2 GB
Jeden web na WordPresse s MariaDB a cache stránok2 GB
E-shop na WooCommerce alebo viacero webov na WordPresse4 GB
API v Node.js alebo Pythone s PostgreSQL, prví používatelia4 GB
Aplikácia Next.js kompilovaná na serveri, jej API a databáza PostgreSQL6 až 8 GB
Viacero aplikácií v kontajneroch, testovacie a produkčné prostredie8 GB
Databáza s veľkosťou niekoľkých desiatok GB, intenzívne čítaná16 GB a viac
Jazykový model so 7 až 8 miliardami parametrov spustený na serveri16 GB

Aplikácia, ktorá volá model AI cez API (OpenAI, Anthropic, Mistral), sa dimenzuje ako ktorákoľvek webová aplikácia: model beží u svojho vydavateľa a váš server čaká na jeho odpoveď. Mierku mení až spustenie modelu priamo na serveri.

Meranie na serveri, ktorý beží

Na serveri v prevádzke nahrádza odhad meranie. Tri príkazy ukážu, ako na tom ste:

Terminál
free -h
ps aux --sort=-rss | head -n 15
vmstat 5 5

Merajte v najvyťaženejšej chvíli dňa a počas príležitostných úloh: kompilácie, zálohy, importu. Rozhoduje špička.

Keď pamäť dôjde

Server, ktorému dochádza pamäť, nespomaľuje postupne. Keď už nie je čo uvoľniť, jadro Linuxu spustí OOM killer (out of memory): vyberie proces, spravidla ten, ktorý zaberá najviac pamäte, a okamžite ho zastaví. Na aplikačnom serveri je to často databáza.

Príznaky: občasné chyby 502 alebo 503, služba, ktorá sa reštartuje bez zjavného dôvodu, kompilácia, ktorá sa preruší hlásením Killed. Potvrdia to logy:

Terminál
journalctl -k | grep -i "out of memory"
systemctl status nazov-sluzby

Vo výstupe systemctl status označuje hlásenie Failed with result 'oom-kill' službu zastavenú pre nedostatok pamäte.

Swap, ak ho server má, túto chvíľu oddiali tým, že najmenej používanú pamäť presunie na disk. Slúži ako záchranná sieť, nie ako kapacita: server, ktorý sa o swap opiera trvalo, odpovedá niekoľkonásobne pomalšie, aj na SSD NVMe.

Riešenia, od najjednoduchšieho po najtrvalejšie: znížiť počet procesov aplikácie (pm.max_children, workery Gunicorn), kompilovať mimo servera, obmedziť pamäť databázy a potom prejsť na vyššiu veľkosť.

Výber veľkosti a plán do budúcnosti

  1. Spíšte, čo bude bežať: webový server, aplikácia a počet jej procesov, databáza, cache, plánované úlohy.
  2. Sčítajte hodnoty podľa tabuľky častí, pridajte najnáročnejšiu špičku (často kompiláciu) a potom 25 % rezervu.
  3. Zvoľte veľkosť, ktorá tento súčet pokryje. Z dvoch susedných veľkostí postačí menšia, ak sa na vyššiu dá prejsť bez reinštalácie.
  4. Merajte po spustení, v dennej špičke, a potom pri každom ďalšom raste aplikácie.

Pamäť nie je jediný zdroj: procesor rozhoduje pri výpočtoch (kompilácia, spracovanie obrázkov, beh modelu AI), disk pri databáze a súboroch. Pri webovej aplikácii však veľkosť takmer vždy určuje práve pamäť.

Správna veľkosť a voľnosť ju zmeniť

VPS Pro sa ponúka v šiestich veľkostiach, na procesoroch Intel Xeon, pamäti ECC a zrkadlených SSD NVMe, a na vyššiu veľkosť prejde kedykoľvek, bez reinštalácie. Komplexná podpora je v cene: opíšte nám, čo bude váš server prevádzkovať, a odporučíme vám veľkosť; potom pri každej otázke stanovíme diagnózu a povieme vám, čo urobiť, od systému až po kód vašej aplikácie.

Objaviť VPS Pro

Časté otázky

Koľko RAM potrebuje malý VPS?

Statický web, proxy alebo malý skript bežia v 1 až 2 GB. Len čo server zdieľa databáza a aplikácia (PHP, Node.js, Python), počítajte s 2 GB pre web na WordPresse a so 4 GB pre aplikáciu na mieru s PostgreSQL.

Koľko RAM pre WordPress na VPS?

2 GB pre web s MariaDB a cache stránok, 4 GB pre e-shop na WooCommerce alebo viacero webov. Prvým nastavením je počet procesov PHP-FPM: každý zaberá 40 až 80 MB.

Môže swap nahradiť RAM?

Nie. Swap zabráni náhlemu zastaveniu, keď je pamäť plná, ale server, ktorý ho využíva trvalo, odpovedá niekoľkonásobne pomalšie, aj na SSD NVMe. Je to záchranná sieť; veľkosť sa vyberá podľa pamäte.

Prečo free ukazuje takmer žiadnu voľnú pamäť?

Pretože Linux používa nevyužitú pamäť ako cache súborov. Táto cache sa uvoľní, len čo program potrebuje pamäť. Čítať treba stĺpec available, ktorý udáva skutočne dostupnú pamäť.

Koľko RAM na kompiláciu aplikácie Next.js?

Počítajte s 1 až 2 GB len na samotnú kompiláciu, navyše k tomu, čo už na serveri beží. Kompilácia na vašom počítači alebo v CI a nahranie len výsledku sa tejto špičke vyhne.

Kontaktujte nás