Kui palju RAM-i VPS vajab: reegel kasutusviiside kaupa

Mälu on ressurss, mis kõige sagedamini määrab serveri suuruse: see saab esimesena otsa ja kui see otsa saab, ei muutu server lihtsalt aeglaseks, vaid peatab teenuseid. See juhend annab arvutusreegli, näitab, mida rakenduse iga osa tarbib, toob tüüpilised profiilid ja selgitab, kuidas juba töötavat serverit mõõta.

Avaldatud 15. oktoobril 2026 Autor: Lugemisaeg: 9 minutit

Kõik juhendid

Lühidalt

  1. Liitke kokku kõik, mis püsib mälus pidevalt: süsteem, veebiserver, rakenduse iga protsess, andmebaas ja vahemälu.
  2. Planeerige tipu, mitte keskmise järgi: kompileerimine, varundus või ajastatud toiming võivad mõneks minutiks tarbimise kahekordistada.
  3. Lisage 25 % varu. Vabaks jäänud mälu töötab kettavahemäluna ja kiirendab andmebaasi.
  4. Töötavas serveris lugege käsu free -h veergu available, mitte veergu free.
  5. Kui mälu saab otsa, peatab Linux mõne protsessi, sageli kõige suurema: andmebaasi. Teenus, mis ise taaskäivitub, on esimene märk, mida jälgida.
  6. Valige suurus, millelt saab kasvada ilma uuesti paigaldamata: tootmises oleva rakenduse vajadused kasvavad koos tema andmetega.

Reegel: liitke kokku, mis püsib mälus

Server ei tarbi mälu «üldiselt»: iga töötav programm hoiab endale osa sellest, seni kuni ta töötab. Arvutus algab seega pidevalt töötavate protsesside loendist, seejärel lisanduvad tipp ja varu:

Vajalik mälu = (süsteem + püsivad teenused + ajutiste toimingute tipp) × 1,25

Mida iga komponent tarbib

Allolevad suurusjärgud kehtivad tavalise suurusega rakenduse kohta, mõõdetuna tootmises. Need annavad lähtepunkti; viimane sõna jääb alati teie enda rakenduse mõõtmisele, mida kirjeldatakse allpool.

KomponentTüüpiline mäluMis seda muudab
Nginx, Caddy (veebiserver, puhverserver)10 kuni 50 MBPeaaegu püsiv: ühenduste arv mõjutab vähe.
PHP-FPM (WordPress, Laravel, Symfony)40 kuni 80 MB protsessi kohtaProtsesside arv, mille ülempiiri seab pm.max_children: 10 protsessi teeb 400 kuni 800 MB.
Node.js (API, Next.js, NestJS)60 kuni 300 MB protsessi kohtaProtsesside arv (klastrirežiim, PM2) ja kuhja suurus, mida piirab --max-old-space-size.
Python (Django, FastAPI, Flask)80 kuni 200 MB protsessi kohtaGunicorni või Uvicorni workerite arv ja laaditud teegid: pandas või masinõppemudel lisavad sadu megabaite.
Java (Spring Boot)300 MB kuni 1 GB rakenduse kohtaKuhja maksimaalne suurus: vaikimisi võtab JVM endale veerandi mälust, mida ta näeb.
Go, Rust10 kuni 100 MBAndmed, mida rakendus ise mälus hoiab.
PostgreSQL25 % mälust shared_buffers jaoks, pluss mõni MB ühenduse kohtaSageli loetavate andmete maht, ühenduste arv, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, vaikimisi 128 MBAinult andmebaasile pühendatud serveris võtab see puhver tavaliselt kuni 80 % mälust.
RedisAndmete maht, pluss nende struktuuridKettale salvestamise ajal dubleeritakse muudetud lehed: halvimal juhul kuni kahekordne maht.
Elasticsearch, OpenSearchVähemalt 2 GB kuhja jaoksKuhi jääb alla poole mälust: ülejäänu teenib failide vahemälu.

JavaScripti rakenduste puhul kordub üks tipp ikka ja jälle: kompileerimine. npm run build nõuab Next.js-, Nuxt- või Angular-projektis tihti üksi 1 kuni 2 GB mõneks minutiks, lisaks kõigele, mis juba töötab. Serveris kompileerimine tähendab serveri mõõtmist selle tipu järgi; kompileerimine oma arvutis või pidevas integratsioonis (CI) ja ainult tulemuse üleslaadimine väldib seda.

Sama arutluskäik kehtib Dockeri konteinerite kohta: iga konteiner on tavaliste protsesside kogum ja Dockeri deemon lisab oma tarbimise. docker stats näitab, kui palju igaüks võtab.

Tüüpilised profiilid

Need profiilid liidavad eelmised komponendid kokku, tipp ja varu kaasa arvatud. Need eeldavad tavalise suurusega rakendust ja käivitusaja liiklust; mahukas andmebaas või püsivalt suur liiklus nihutavad vajadust ülespoole.

Mis serveris töötabPlaneeritav mälu
Staatiline sait, puhverserver, väike bot või ajastatud skript1 kuni 2 GB
Üks WordPressi sait MariaDB ja lehevahemäluga2 GB
WooCommerce'i e-pood või mitu WordPressi saiti4 GB
Node.js- või Pythoni API PostgreSQL-iga, esimesed kasutajad4 GB
Serveris kompileeritav Next.js-rakendus koos oma API ja PostgreSQL-i andmebaasiga6 kuni 8 GB
Mitu konteinerites töötavat rakendust, testkeskkond ja tootmine8 GB
Mitmekümne gigabaidine andmebaas, mida loetakse intensiivselt16 GB ja rohkem
Serveris käitatav 7 kuni 8 miljardi parameetriga keelemudel16 GB

Rakendus, mis kutsub tehisintellekti mudelit API kaudu (OpenAI, Anthropic, Mistral), mõõdetakse nagu iga teine veebirakendus: mudel töötab oma väljaandja juures ja teie server ootab vastust. Mõõtkava muudab mudeli käitamine serveris endas.

Mõõtmine töötavas serveris

Töötavas serveris asendab mõõtmine hinnangu. Kolm käsku näitavad, kus te olete:

Terminal
free -h
ps aux --sort=-rss | head -n 15
vmstat 5 5

Mõõtke päeva kõige koormatumal ajal ja ajutiste toimingute ajal: kompileerimine, varundus, import. Loeb tipp.

Kui mälu saab otsa

Server, mille mälu saab otsa, ei aeglustu järk-järgult. Kui vabastada pole enam midagi, käivitab Linuxi tuum OOM killeri (out of memory): see valib protsessi, tavaliselt selle, mis hõivab kõige rohkem mälu, ja peatab selle kohe. Rakendusserveris on see sageli andmebaas.

Sümptomid: aeg-ajalt vead 502 või 503, teenus, mis taaskäivitub ilma nähtava põhjuseta, kompileerimine, mis katkeb teatega Killed. Logid kinnitavad seda:

Terminal
journalctl -k | grep -i "out of memory"
systemctl status teenuse-nimi

Käsu systemctl status väljundis tähistab märge Failed with result 'oom-kill' teenust, mis peatati mälupuuduse tõttu.

Swap (saalemälu), kui serveril see on, lükkab selle hetke edasi, viies kõige vähem kasutatud mälu kettale. See on turvavõrk, mitte lisamaht: server, mis toetub pidevalt swapile, vastab mitu korda aeglasemalt, isegi NVMe SSD-l.

Lahendused, lihtsaimast kõige püsivamani: vähendage rakenduse protsesside arvu (pm.max_children, Gunicorni workerid), kompileerige väljaspool serverit, piirake andmebaasi mälu ja minge seejärel suuremale suurusele.

Suuruse valik ja edasine plaan

  1. Loetlege, mis hakkab töötama: veebiserver, rakendus ja selle protsesside arv, andmebaas, vahemälu, ajastatud toimingud.
  2. Liitke kokku komponentide tabeli abil, lisage kõige raskem tipp (sageli kompileerimine) ja seejärel 25 % varu.
  3. Valige suurus, mis selle kogusumma katab. Kahe naabersuuruse vahel sobib väiksem, kui suuremale suurusele üleminek käib ilma uuesti paigaldamata.
  4. Mõõtke pärast käivitamist päeva tipu ajal ja seejärel rakenduse iga kasvuetapi järel.

Mälu kõrval loevad ka teised ressursid: protsessor kõige puhul, mis arvutab (kompileerimine, piltide töötlemine, AI-mudeli käitamine), ketas andmebaasi ja failide puhul. Veebirakenduse suuruse määrab siiski peaaegu alati mälu.

Õige suurus ja vabadus seda muuta

VPS Pro on saadaval kuues suuruses, Intel Xeon protsessoritel, ECC-mälu ja peegeldatud NVMe SSD-dega, ning läheb igal ajal suuremale suurusele ilma uuesti paigaldamata. Terviklik tugi sisaldub: kirjeldage meile, mida teie server käitama hakkab, soovitame teile suuruse ning seejärel diagnoosime iga küsimuse ja ütleme teile, mida teha, süsteemist kuni teie rakenduse koodini.

Vaadake VPS Pro

Korduma kippuvad küsimused

Kui palju RAM-i vajab väike VPS?

Staatiline sait, puhverserver või väike skript töötavad 1 kuni 2 GB mäluga. Niipea kui andmebaas ja rakendus (PHP, Node.js, Python) serverit jagavad, arvestage WordPressi saidi jaoks 2 GB ja PostgreSQL-iga eritellimusrakenduse jaoks 4 GB.

Kui palju RAM-i vajab WordPress VPS-is?

2 GB saidile MariaDB ja lehevahemäluga, 4 GB WooCommerce'i e-poele või mitmele saidile. PHP-FPM protsesside arv on esimene seadistus: igaüks neist hõivab 40 kuni 80 MB.

Kas swap võib RAM-i asendada?

Ei. Swap hoiab ära järsu seiskumise, kui mälu on täis, kuid server, mis seda pidevalt kasutab, vastab mitu korda aeglasemalt, isegi NVMe SSD-l. See on turvavõrk; suurus valitakse mälu järgi.

Miks näitab free, et vaba mälu peaaegu polegi?

Sest Linux kasutab kasutamata mälu failide vahemäluna. See vahemälu vabaneb niipea, kui mõni programm mälu vajab. Lugeda tuleb veergu available, mis näitab tegelikult saadaolevat mälu.

Kui palju RAM-i vajab Next.js-rakenduse kompileerimine?

Arvestage ainuüksi kompileerimiseks 1 kuni 2 GB, lisaks sellele, mis serveris juba töötab. Kompileerimine oma arvutis või pidevas integratsioonis ja ainult tulemuse üleslaadimine väldib seda tippu.

Võtke meiega ühendust