Kolik RAM potřebuje VPS: pravidlo výpočtu podle použití

Paměť je prostředek, který nejčastěji určuje velikost serveru: dochází jako první, a když dojde, server nezpomalí, ale začne ukončovat služby. Tento průvodce uvádí pravidlo výpočtu, spotřebu jednotlivých součástí aplikace, typické profily a způsob, jak měřit na serveru, který už běží.

Publikováno 15. října 2026 Autor: Doba čtení: 9 minut

Všichni průvodci

To nejdůležitější

  1. Sečtěte vše, co trvale zůstává v paměti: systém, webový server, každý proces aplikace, databázi a cache.
  2. Dimenzujte podle špičky, ne podle průměru: sestavení aplikace, záloha nebo naplánovaná úloha mohou spotřebu na několik minut zdvojnásobit.
  3. Přidejte 25 % rezervy. Paměť, která zůstane volná, slouží jako mezipaměť souborů a zrychluje databázi.
  4. Na běžícím serveru čtěte sloupec available příkazu free -h, ne sloupec free.
  5. Když paměť dojde, Linux ukončí některý proces, často ten největší: databázi. Služba, která se sama restartuje, je první příznak, který stojí za sledování.
  6. Zvolte velikost, kterou lze navýšit bez reinstalace: nároky aplikace v produkci rostou spolu s jejími daty.

Pravidlo: sečíst, co zůstává v paměti

Server nespotřebovává paměť „obecně“: každý běžící program si drží svůj díl, dokud běží. Výpočet proto vychází ze seznamu procesů, které běží trvale, a pak k nim přidává špičku a rezervu:

Potřebná paměť = (systém + trvalé služby + špička příležitostných úloh) × 1,25

Kolik spotřebuje každá součást

Níže uvedené řády platí pro aplikaci běžné velikosti, měřenou v produkci. Jsou výchozím bodem; poslední slovo má vždy měření na vaší vlastní aplikaci, popsané dále.

SoučástTypická paměťNa čem spotřeba závisí
Nginx, Caddy (webový server, proxy)10 až 50 MBTéměř stálá: počet připojení váží málo.
PHP-FPM (WordPress, Laravel, Symfony)40 až 80 MB na procesPočet procesů, omezený direktivou pm.max_children: 10 procesů znamená 400 až 800 MB.
Node.js (API, Next.js, NestJS)60 až 300 MB na procesPočet procesů (režim cluster, PM2) a velikost haldy, omezená parametrem --max-old-space-size.
Python (Django, FastAPI, Flask)80 až 200 MB na procesPočet workerů Gunicornu nebo Uvicornu a načtené knihovny: pandas nebo model strojového učení přidají stovky MB.
Java (Spring Boot)300 MB až 1 GB na aplikaciMaximální velikost haldy: JVM si ve výchozím nastavení bere čtvrtinu paměti, kterou vidí.
Go, Rust10 až 100 MBData, která si aplikace sama drží v paměti.
PostgreSQL25 % paměti pro shared_buffers a několik MB na každé připojeníObjem často čtených dat, počet připojení, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, ve výchozím nastavení 128 MBNa serveru vyhrazeném databázi tento buffer běžně zabírá až 80 % paměti.
RedisVelikost dat plus jejich strukturyBěhem ukládání na disk se změněné stránky duplikují: v nejhorším případě až dvojnásobek.
Elasticsearch, OpenSearchNejméně 2 GB pro halduHalda nepřesahuje polovinu paměti: zbytek slouží jako mezipaměť souborů.

U javascriptových aplikací se často opakuje jedna špička: sestavení (build). npm run build na projektu Next.js, Nuxt nebo Angular běžně sám potřebuje 1 až 2 GB, po dobu několika minut, navíc k tomu, co už běží. Sestavovat na serveru znamená dimenzovat pro tuto špičku; sestavit aplikaci na svém počítači nebo v CI a na server nahrát jen výsledek znamená se jí vyhnout.

Stejná úvaha platí pro kontejnery Docker: každý kontejner je sada procesů jako každá jiná a démon Dockeru přidává vlastní spotřebu. docker stats ukazuje, kolik si bere každý z nich.

Typické profily

Tyto profily sčítají předchozí součásti, včetně špičky a rezervy. Předpokládají aplikaci běžné velikosti a provoz v době spuštění; objemná databáze nebo trvale vysoký provoz posouvají nároky výš.

Co na serveru běžíPotřebná paměť
Statický web, proxy, malý bot nebo naplánovaný skript1 až 2 GB
Web na WordPressu s MariaDB a cache stránek2 GB
E-shop na WooCommerce nebo několik webů na WordPressu4 GB
API v Node.js nebo Pythonu s PostgreSQL, první uživatelé4 GB
Aplikace Next.js sestavovaná na serveru, její API a databáze PostgreSQL6 až 8 GB
Několik aplikací v kontejnerech, testovací a produkční prostředí8 GB
Databáze o několika desítkách GB, intenzivně využívaná16 GB a více
Jazykový model se 7 až 8 miliardami parametrů spuštěný na serveru16 GB

Aplikace, která volá model AI přes API (OpenAI, Anthropic, Mistral), se dimenzuje jako kterákoli jiná webová aplikace: model běží u svého poskytovatele a váš server čeká na odpověď. Řádově jiné nároky přináší až spuštění modelu přímo na serveru.

Měření na běžícím serveru

Na serveru v provozu nahrazuje odhad měření. Tři příkazy ukážou, jak na tom jste:

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

Měřte v nejvytíženější době dne a během příležitostných úloh: sestavení, zálohy, importu. Rozhoduje špička.

Když paměť dojde

Server, kterému dochází paměť, nezpomaluje postupně. Když už není co uvolnit, jádro Linuxu spustí OOM killer (out of memory): vybere proces, obvykle ten, který zabírá nejvíc paměti, a okamžitě ho ukončí. Na aplikačním serveru je to často databáze.

Příznaky: občasné chyby 502 nebo 503, služba, která se bez zjevného důvodu restartuje, sestavení, které skončí hláškou Killed. Logy to potvrdí:

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

Ve výstupu systemctl status označuje hláška Failed with result 'oom-kill' službu ukončenou kvůli nedostatku paměti.

Swap, pokud ho server má, tento okamžik oddálí tím, že nejméně používanou paměť přesune na disk. Slouží jako záchranná síť, ne jako kapacita: server, který swap využívá nepřetržitě, odpovídá několikanásobně pomaleji, i na SSD NVMe.

Řešení, od nejjednoduššího po nejtrvalejší: snížit počet procesů aplikace (pm.max_children, workery Gunicornu), sestavovat mimo server, omezit paměť databáze a pak přejít na vyšší velikost.

Zvolit velikost a myslet na další růst

  1. Sepište, co bude na serveru běžet: webový server, aplikace a počet jejích procesů, databáze, cache, naplánované úlohy.
  2. Sečtěte hodnoty podle tabulky součástí, přidejte nejnáročnější špičku (často sestavení) a pak 25 % rezervy.
  3. Zvolte velikost, která tento součet pokryje. Mezi dvěma sousedními velikostmi stačí ta menší, pokud přechod na vyšší velikost proběhne bez reinstalace.
  4. Po spuštění měřte ve špičce dne a pak při každé fázi růstu aplikace.

Paměť není jediný prostředek: procesor rozhoduje u všeho, co počítá (sestavení, zpracování obrázků, běh modelu AI), disk u databáze a souborů. U webové aplikace však velikost téměř vždy určuje právě paměť.

Správná velikost a volnost ji změnit

VPS Pro nabízí šest velikostí na procesorech Intel Xeon, paměti ECC a zrcadlených SSD NVMe a na vyšší velikost přejde kdykoli, bez reinstalace. Komplexní podpora je v ceně: popište nám, co bude váš server provozovat, doporučíme vám velikost a pak u každé otázky stanovíme diagnózu a řekneme vám, co udělat, od systému až po kód vaší aplikace.

Objevit VPS Pro

Časté otázky

Kolik RAM pro malý VPS?

Statický web, proxy nebo malý skript běží v 1 až 2 GB. Jakmile server sdílí databáze a aplikace (PHP, Node.js, Python), počítejte se 2 GB pro web na WordPressu a se 4 GB pro aplikaci na míru s PostgreSQL.

Kolik RAM pro WordPress na VPS?

2 GB pro web s MariaDB a cache stránek, 4 GB pro e-shop na WooCommerce nebo několik webů. Prvním nastavením je počet procesů PHP-FPM: každý zabírá 40 až 80 MB.

Může swap nahradit RAM?

Ne. Swap zabrání náhlému ukončení procesů, když je paměť plná, ale server, který ho využívá nepřetržitě, odpovídá několikanásobně pomaleji, i na SSD NVMe. Je to záchranná síť; velikost se volí podle paměti.

Proč free ukazuje skoro žádnou volnou paměť?

Protože Linux využívá nevyužitou paměť jako mezipaměť souborů. Tato mezipaměť se uvolní, jakmile ji některý program potřebuje. Číst je třeba sloupec available, který udává skutečně dostupnou paměť.

Kolik RAM pro sestavení aplikace Next.js?

Počítejte s 1 až 2 GB jen pro sestavení, navíc k tomu, co už na serveru běží. Sestavení na vašem počítači nebo v CI a nahrání pouze výsledku této špičce předejde.

Kontaktujte nás