Hvor meget RAM skal en VPS have? Reglen, opgave for opgave

Hukommelsen er den ressource, der oftest bestemmer en servers størrelse: det er den, der slipper op først, og når den slipper op, bliver serveren ikke bare langsommere, den stopper tjenester. Denne guide giver dig beregningsreglen, hvad hver komponent i en applikation bruger, typiske profiler og måden at måle på en server, der allerede kører.

Udgivet den 15. oktober 2026 Af Læsetid: 9 minutter

Alle guider

Det vigtigste

  1. Læg alt det sammen, der hele tiden ligger i hukommelsen: systemet, webserveren, hver af applikationens processer, databasen og cachen.
  2. Dimensionér efter spidsbelastningen, ikke efter gennemsnittet: en kompilering, en backup eller en planlagt opgave kan fordoble forbruget i nogle minutter.
  3. Læg 25 % margin oveni. Den hukommelse, der forbliver fri, bruges som diskcache og gør databasen hurtigere.
  4. På en server, der allerede kører, læser du kolonnen available i free -h, ikke kolonnen free.
  5. Når hukommelsen slipper op, stopper Linux en proces, ofte den største: databasen. En tjeneste, der genstarter af sig selv, er det første tegn, du skal holde øje med.
  6. Vælg en størrelse, der kan vokse uden geninstallation: en applikation i produktion får større behov, efterhånden som dens data vokser.

Reglen: læg det sammen, der bliver i hukommelsen

En server bruger ikke hukommelse «generelt»: hvert program, der kører, beholder en del af den, så længe det kører. Beregningen tager derfor udgangspunkt i listen over de processer, der kører permanent, og lægger derefter spidsbelastningen og en margin til:

Hukommelsesbehov = (system + permanente tjenester + spidsbelastning fra enkeltstående opgaver) × 1,25

Hvad hver komponent bruger

Størrelsesordenerne herunder gælder for en applikation af almindelig størrelse, målt i produktion. De giver et udgangspunkt; målingen på din egen applikation, som beskrives længere nede, har altid det sidste ord.

KomponentTypisk hukommelseDet, der får den til at variere
Nginx, Caddy (webserver, proxy)10 til 50 MBNæsten fast: antallet af forbindelser betyder lidt.
PHP-FPM (WordPress, Laravel, Symfony)40 til 80 MB pr. procesAntallet af processer, begrænset af pm.max_children: 10 processer giver 400 til 800 MB.
Node.js (API, Next.js, NestJS)60 til 300 MB pr. procesAntallet af processer (cluster-tilstand, PM2) og heapens størrelse, begrænset af --max-old-space-size.
Python (Django, FastAPI, Flask)80 til 200 MB pr. procesAntallet af Gunicorn- eller Uvicorn-workers og de indlæste biblioteker: pandas eller en maskinlæringsmodel lægger flere hundrede MB oveni.
Java (Spring Boot)300 MB til 1 GB pr. applikationHeapens maksimale størrelse: som standard giver JVM'en sig selv en fjerdedel af den hukommelse, den ser.
Go, Rust10 til 100 MBDe data, applikationen selv holder i hukommelsen.
PostgreSQL25 % af hukommelsen til shared_buffers, plus nogle MB pr. forbindelseMængden af data, der ofte læses, antallet af forbindelser, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, 128 MB som standardPå en server, der er dedikeret til databasen, optager denne buffer ofte op til 80 % af hukommelsen.
RedisDatamængden plus dens strukturerUnder en lagring på disk bliver de ændrede sider duplikeret: op til det dobbelte i værste fald.
Elasticsearch, OpenSearchMindst 2 GB til heapenHeapen overstiger ikke halvdelen af hukommelsen: resten bruges til filcachen.

En spidsbelastning går ofte igen med JavaScript-applikationer: kompileringen. npm run build på et Next.js-, Nuxt- eller Angular-projekt kræver ofte 1 til 2 GB alene, i nogle minutter, oven i det, der allerede kører. At kompilere på serveren betyder at dimensionere efter den spidsbelastning; at kompilere på din egen computer eller i din CI-pipeline og kun lægge resultatet op undgår den.

Samme logik gælder for Docker-containere: hver container er en samling processer som alle andre, og Docker-dæmonen lægger sit eget forbrug til. docker stats viser, hvad hver enkelt bruger.

Typiske profiler

Disse profiler lægger komponenterne ovenfor sammen, spidsbelastning og margin medregnet. De forudsætter en applikation af almindelig størrelse og trafikken ved en lancering; en stor database eller vedvarende trafik flytter behovet opad.

Det, der kører på serverenHukommelsesbehov
Statisk hjemmeside, proxy, lille bot eller planlagt script1 til 2 GB
En WordPress-hjemmeside med MariaDB og en sidecache2 GB
En WooCommerce-webshop eller flere WordPress-hjemmesider4 GB
Et Node.js- eller Python-API med PostgreSQL, de første brugere4 GB
En Next.js-applikation kompileret på serveren, dens API og dens PostgreSQL-database6 til 8 GB
Flere applikationer i containere, staging og produktion8 GB
En database på adskillige titals GB, der bruges intensivt16 GB og mere
En sprogmodel med 7 til 8 milliarder parametre, der kører på serveren16 GB

En applikation, der kalder en AI-model via API (OpenAI, Anthropic, Mistral), dimensioneres som enhver anden webapplikation: modellen kører hos udbyderen, og din server venter på svaret. Det er, når modellen kører på selve serveren, at skalaen ændrer sig.

Mål på en server, der kører

På en server i drift erstatter målingen skønnet. Tre kommandoer viser, hvor du står:

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

Mål på dagens travleste tidspunkt og under de enkeltstående opgaver: kompilering, backup, import. Det er spidsbelastningen, der tæller.

Når hukommelsen slipper op

En server, der mangler hukommelse, bliver ikke gradvist langsommere. Når der ikke er mere at frigøre, udløser Linux-kernen OOM killer (out of memory): den vælger en proces, som regel den, der optager mest hukommelse, og stopper den brat. På en applikationsserver er det ofte databasen.

Symptomerne: 502- eller 503-fejl en gang imellem, en tjeneste, der genstarter uden synlig grund, en kompilering, der afbrydes med Killed. Logfilerne bekræfter det:

Terminal
journalctl -k | grep -i "out of memory"
systemctl status din-tjeneste

I outputtet fra systemctl status betyder Failed with result 'oom-kill', at en tjeneste er stoppet på grund af manglende hukommelse.

Swap, hvis serveren har det, udskyder det øjeblik ved at flytte den mindst brugte hukommelse ud på disken. Det er et sikkerhedsnet, ikke kapacitet: en server, der konstant læner sig op ad swap, svarer flere gange langsommere, selv på en NVMe-SSD.

Løsningerne, fra den enkleste til den mest holdbare: sænk antallet af applikationsprocesser (pm.max_children, Gunicorn-workers), kompilér uden for serveren, begræns databasens hukommelse, og skift derefter til en større størrelse.

Vælg din størrelse, og planlæg det næste skridt

  1. List det, der skal køre: webserver, applikation og antal processer, database, cache, planlagte opgaver.
  2. Læg sammen med tabellen over komponenter, tilføj den tungeste spidsbelastning (ofte kompileringen) og derefter 25 % margin.
  3. Vælg den størrelse, der dækker totalen. Mellem to nabostørrelser er den mindste tilstrækkelig, så længe skiftet til den større størrelse sker uden geninstallation.
  4. Mål efter lanceringen, på dagens travleste tidspunkt, og derefter ved hvert vækstskridt for applikationen.

Hukommelsen er ikke den eneste ressource: processoren tæller for det, der regner (kompilering, billedbehandling, kørsel af en AI-model), disken for databasen og filerne. For en webapplikation er det alligevel næsten altid hukommelsen, der bestemmer størrelsen.

Den rette størrelse, og friheden til at skifte

VPS Pro fås i seks størrelser, på Intel Xeon-processorer, ECC-hukommelse og spejlede NVMe-SSD'er, og skifter til en større størrelse når som helst, uden geninstallation. Totalsupport er inkluderet: fortæl os, hvad din server skal køre, så anbefaler vi størrelsen, og ved hvert spørgsmål stiller vi diagnosen og fortæller dig, hvad du skal gøre, fra systemet til din applikations kode.

Opdag VPS Pro

Ofte stillede spørgsmål

Hvor meget RAM skal en lille VPS have?

En statisk hjemmeside, en proxy eller et lille script kører fint på 1 til 2 GB. Så snart en database og en applikation (PHP, Node.js, Python) deler serveren, skal du regne med 2 GB til en WordPress-hjemmeside og 4 GB til en skræddersyet applikation med PostgreSQL.

Hvor meget RAM skal WordPress have på en VPS?

2 GB til en hjemmeside med MariaDB og en sidecache, 4 GB til en WooCommerce-webshop eller flere hjemmesider. Antallet af PHP-FPM-processer er den første indstilling: hver af dem optager 40 til 80 MB.

Kan swap erstatte RAM?

Nej. Swap forhindrer et brat stop, når hukommelsen er fuld, men en server, der bruger det konstant, svarer flere gange langsommere, selv på en NVMe-SSD. Det er et sikkerhedsnet; størrelsen vælges efter hukommelsen.

Hvorfor viser free næsten ingen ledig hukommelse?

Fordi Linux bruger den ubrugte hukommelse som filcache. Cachen frigives, så snart et program har brug for hukommelse. Kolonnen, du skal læse, er available, som viser den hukommelse, der reelt er til rådighed.

Hvor meget RAM kræver det at kompilere en Next.js-applikation?

Regn med 1 til 2 GB til selve kompileringen, oven i det, der allerede kører på serveren. At kompilere på din egen computer eller i din CI-pipeline og kun lægge resultatet op undgår den spidsbelastning.

Kontakt os