Paljonko RAM-muistia VPS tarvitsee: laskusääntö käyttötarkoituksittain

Muisti on se resurssi, joka useimmiten ratkaisee palvelimen koon: se loppuu ensimmäisenä, ja kun se loppuu, palvelin ei hidastu vaan pysäyttää palveluja. Tämä opas antaa laskusäännön, kertoo, mitä sovelluksen kukin osa kuluttaa, esittelee tyypilliset profiilit ja näyttää, miten jo käynnissä olevan palvelimen muistinkäyttö mitataan.

Julkaistu 15. lokakuuta 2026 Kirjoittaja: Lukuaika: 9 minuuttia

Kaikki oppaat

Lyhyesti

  1. Laskekaa yhteen kaikki, mikä pysyy muistissa jatkuvasti: käyttöjärjestelmä, verkkopalvelin, sovelluksen jokainen prosessi, tietokanta ja välimuisti.
  2. Mitoittakaa huippukuorman eikä keskiarvon mukaan: käännös, varmuuskopiointi tai ajastettu tehtävä voi kaksinkertaistaa muistinkulutuksen muutamaksi minuutiksi.
  3. Lisätkää 25 %:n marginaali. Vapaaksi jäävä muisti toimii levyvälimuistina ja nopeuttaa tietokantaa.
  4. Käynnissä olevalla palvelimella lukekaa komennon free -h sarake available, ei saraketta free.
  5. Kun muisti loppuu, Linux pysäyttää prosessin, usein suurimman: tietokannan. Itsestään uudelleen käynnistyvä palvelu on ensimmäinen merkki, jota kannattaa seurata.
  6. Valitkaa koko, jota voi kasvattaa ilman uudelleenasennusta: tuotannossa olevan sovelluksen tarpeet kasvavat sen datan mukana.

Sääntö: laskekaa yhteen se, mikä pysyy muistissa

Palvelin ei kuluta muistia ”yleisesti”: jokainen käynnissä oleva ohjelma varaa siitä osansa niin kauan kuin se on käynnissä. Laskelma lähtee siis jatkuvasti käynnissä olevien prosessien luettelosta, ja siihen lisätään huippu ja marginaali:

Tarvittava muisti = (järjestelmä + jatkuvat palvelut + satunnaisten tehtävien huippu) × 1,25

Mitä kukin osa kuluttaa

Alla olevat suuruusluokat pätevät tavallisen kokoiseen sovellukseen tuotannossa mitattuina. Ne ovat lähtökohta; oman sovelluksenne mittaus, jota kuvataan jäljempänä, ratkaisee aina lopullisesti.

OsaTyypillinen muistiMikä sitä muuttaa
Nginx, Caddy (verkkopalvelin, välityspalvelin)10 ja 50 MB:n välilläLähes vakio: yhteyksien määrä vaikuttaa vähän.
PHP-FPM (WordPress, Laravel, Symfony)40 ja 80 MB:n välillä prosessia kohdenProsessien määrä, jonka ylärajan asettaa pm.max_children: 10 prosessia vie 400 ja 800 MB:n välillä.
Node.js (API, Next.js, NestJS)60 ja 300 MB:n välillä prosessia kohdenProsessien määrä (cluster-tila, PM2) ja keon koko, jonka ylärajan asettaa --max-old-space-size.
Python (Django, FastAPI, Flask)80 ja 200 MB:n välillä prosessia kohdenGunicornin tai Uvicornin workereiden määrä ja ladatut kirjastot: pandas tai koneoppimismalli lisää satoja megatavuja.
Java (Spring Boot)300 MB:n ja 1 GB:n välillä sovellusta kohdenKeon enimmäiskoko: oletuksena JVM varaa itselleen neljänneksen näkemästään muistista.
Go, Rust10 ja 100 MB:n välilläData, jota sovellus itse pitää muistissa.
PostgreSQL25 % muistista shared_buffers-asetukselle ja lisäksi muutama megatavu yhteyttä kohdenUsein luetun datan määrä, yhteyksien määrä, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, oletuksena 128 MBTietokannalle omistetulla palvelimella tämä puskuri vie yleisesti jopa 80 % muistista.
RedisDatan koko ja lisäksi sen tietorakenteetLevylle tallennuksen aikana muutetut sivut kopioidaan: pahimmassa tapauksessa muistia kuluu kaksinkertaisesti.
Elasticsearch, OpenSearchVähintään 2 GB keolleKeko vie alle puolet muistista: loput toimii tiedostovälimuistina.

Yksi huippu toistuu JavaScript-sovelluksissa kerta toisensa jälkeen: käännös (build). npm run build Next.js-, Nuxt- tai Angular-projektissa vaatii yleisesti yksinään 1 tai 2 GB muutaman minuutin ajan, kaiken jo käynnissä olevan lisäksi. Palvelimella kääntäminen tarkoittaa mitoittamista tämän huipun mukaan; kun käännätte omalla koneellanne tai jatkuvan integraation putkessa ja siirrätte palvelimelle vain lopputuloksen, huippu jää pois.

Sama päättely pätee Docker-kontteihin: jokainen kontti on joukko tavallisia prosesseja, ja Dockerin taustapalvelu lisää oman kulutuksensa. docker stats näyttää, mitä kukin vie.

Tyypilliset profiilit

Nämä profiilit laskevat yhteen edellä esitellyt osat, huippu ja marginaali mukaan lukien. Ne olettavat tavallisen kokoisen sovelluksen ja julkaisuvaiheen liikenteen; suuri tietokanta tai jatkuvasti kova liikenne siirtää mitoitusta ylöspäin.

Mitä palvelimella ajetaanTarvittava muisti
Staattinen sivusto, välityspalvelin, pieni botti tai ajastettu skripti1 tai 2 GB
Yksi WordPress-sivusto MariaDB:llä ja sivuvälimuistilla2 GB
WooCommerce-verkkokauppa tai useampi WordPress-sivusto4 GB
Node.js- tai Python-rajapinta PostgreSQL:llä, ensimmäiset käyttäjät4 GB
Palvelimella käännetty Next.js-sovellus, sen rajapinta ja PostgreSQL-tietokanta6 tai 8 GB
Useita sovelluksia konteissa, testi- ja tuotantoympäristö8 GB
Useiden kymmenien gigatavujen tietokanta intensiivisessä käytössä16 GB tai enemmän
Palvelimella ajettava kielimalli, jossa on 7 tai 8 miljardia parametria16 GB

Sovellus, joka kutsuu tekoälymallia rajapinnan kautta (OpenAI, Anthropic, Mistral), mitoitetaan kuten mikä tahansa verkkosovellus: malli toimii tarjoajansa palvelimilla, ja palvelimenne odottaa sen vastausta. Mittakaava muuttuu vasta, kun malli ajetaan itse palvelimella.

Mittaaminen käynnissä olevalla palvelimella

Käytössä olevalla palvelimella mittaus korvaa arvion. Kolme komentoa kertoo tilanteen:

Pääte
free -h
ps aux --sort=-rss | head -n 15
vmstat 5 5

Mitatkaa päivän kuormitetuimpana hetkenä ja satunnaisten tehtävien aikana: käännös, varmuuskopiointi, tuonti. Huippu ratkaisee.

Kun muisti loppuu

Muistin loppuessa palvelin ei hidastu vähitellen. Kun vapautettavaa ei enää ole, Linux-ydin käynnistää OOM killer -mekanismin (out of memory): se valitsee prosessin, yleensä eniten muistia vievän, ja pysäyttää sen saman tien. Sovelluspalvelimella se on usein tietokanta.

Oireet: ajoittaiset 502- tai 503-virheet, palvelu, joka käynnistyy uudelleen ilman näkyvää syytä, käännös, joka keskeytyy ilmoitukseen Killed. Lokit vahvistavat asian:

Pääte
journalctl -k | grep -i "out of memory"
systemctl status palvelun-nimi

Komennon systemctl status tulosteessa maininta Failed with result 'oom-kill' tarkoittaa palvelua, joka pysäytettiin muistin puutteen vuoksi.

Swap, jos palvelimella on sellainen, lykkää tätä hetkeä siirtämällä vähiten käytetyn muistin levylle. Se on turvaverkko, ei kapasiteettia: jatkuvasti swapin varassa toimiva palvelin vastaa moninkertaisesti hitaammin, NVMe-SSD-levylläkin.

Korjauskeinot yksinkertaisimmasta kestävimpään: vähentäkää sovelluksen prosessien määrää (pm.max_children, Gunicornin workerit), kääntäkää palvelimen ulkopuolella, rajatkaa tietokannan muistia ja siirtykää sitten suurempaan kokoon.

Koon valinta ja tulevaan varautuminen

  1. Luetelkaa, mitä palvelimella ajetaan: verkkopalvelin, sovellus ja sen prosessien määrä, tietokanta, välimuisti, ajastetut tehtävät.
  2. Laskekaa yhteen osataulukon avulla, lisätkää raskain huippu (usein käännös) ja sitten 25 %:n marginaali.
  3. Valitkaa koko, joka kattaa tämän summan. Kahdesta vierekkäisestä koosta pienempi riittää, kunhan suurempaan kokoon voi siirtyä ilman uudelleenasennusta.
  4. Mitatkaa julkaisun jälkeen päivän huipun aikana ja sitten sovelluksen jokaisessa kasvuvaiheessa.

Muisti ei ole ainoa resurssi: suoritin ratkaisee laskentaa vaativissa tehtävissä (käännös, kuvankäsittely, tekoälymallin ajaminen) ja levy tietokannan ja tiedostojen osalta. Verkkosovelluksen koon ratkaisee kuitenkin lähes aina muisti.

Oikea koko ja vapaus vaihtaa sitä

VPS Pro on saatavana kuutena kokona Intel Xeon -suorittimilla, ECC-muistilla ja peilatuilla NVMe-SSD-levyillä, ja se siirtyy suurempaan kokoon milloin tahansa ilman uudelleenasennusta. Kokonaistuki sisältyy: kertokaa meille, mitä palvelimenne tulee ajamaan, niin suosittelemme sopivan koon, ja sen jälkeen teemme jokaisessa kysymyksessä diagnoosin ja kerromme, mitä tehdä, järjestelmästä sovelluksenne koodiin asti.

Katso VPS Pro

Usein kysytyt kysymykset

Paljonko RAM-muistia pieni VPS tarvitsee?

Staattinen sivusto, välityspalvelin tai pieni skripti toimii 1 tai 2 gigatavun muistilla. Kun tietokanta ja sovellus (PHP, Node.js, Python) jakavat palvelimen, varatkaa 2 GB WordPress-sivustolle ja 4 GB räätälöidylle sovellukselle, jossa on PostgreSQL.

Paljonko RAM-muistia WordPress tarvitsee VPS-palvelimella?

2 GB sivustolle, jossa on MariaDB ja sivuvälimuisti, ja 4 GB WooCommerce-verkkokaupalle tai useammalle sivustolle. PHP-FPM-prosessien määrä on ensimmäinen säädettävä asetus: kukin prosessi vie 40 ja 80 MB:n välillä.

Voiko swap korvata RAM-muistia?

Swap toimii turvaverkkona: se estää äkillisen pysähdyksen, kun muisti täyttyy, mutta jatkuvasti swapia käyttävä palvelin vastaa moninkertaisesti hitaammin, NVMe-SSD-levylläkin. Palvelimen koko valitaan siksi muistin mukaan.

Miksi free näyttää, että vapaata muistia on tuskin lainkaan?

Koska Linux käyttää käyttämätöntä muistia tiedostovälimuistina. Välimuisti vapautuu heti, kun jokin ohjelma tarvitsee muistia. Luettava sarake on available, joka kertoo todella käytettävissä olevan muistin.

Paljonko RAM-muistia Next.js-sovelluksen kääntäminen vaatii?

Varatkaa 1 tai 2 GB pelkälle käännökselle palvelimella jo käynnissä olevan lisäksi. Kun käännätte omalla koneellanne tai jatkuvan integraation putkessa ja siirrätte palvelimelle vain lopputuloksen, tämä huippu jää kokonaan pois.

Ota yhteyttä