De flesta gissar hur mycket RAM de behöver. Antingen köper de alldeles för mycket ”för säkerhets skull”, eller så lär de känna OOM killern klockan tre på natten. Minne är faktiskt en av de enklaste sakerna att dimensionera, eftersom uppgifter är förutsägbara när du väl känner till de ungefärliga siffrorna. Här är de, från en maskin på 1 GB för en bot upp till servrarna på 64 GB som folk söker efter när de vill köra en stor modell lokalt.
Ungefärliga siffror per uppgift
Det här är verkliga värden i stabilt läge för en typisk uppsättning, inte leverantörernas minimikrav.
| Uppgift | RAM den faktiskt använder | Plan som passar |
|---|---|---|
| Telegram-/Discord-bot (Python, Node.js) | 100–300 MB | Nano 1 GB |
| Statisk sajt + Caddy/Nginx | 50–150 MB | Nano 1 GB |
| WordPress + MariaDB, normal trafik | 0,8–1,5 GB | Micro-IP 2 GB |
| PostgreSQL för en liten app | 0,5–2 GB (du bestämmer via shared_buffers) | Micro / Small |
| n8n med några arbetsflöden | 0,5–1,5 GB | Micro 2 GB |
| Docker-värd med 5–10 små tjänster | 2–4 GB | Small 4 GB |
| Coolify + byggen + en databas | 3–4 GB | Small-IP 4 GB |
| LLM på 7–8B, 4 bitar, inferens på CPU | 5–6 GB | Medium 6 GB |
| LLM på 14B, 4 bitar | ~10 GB | Pro-32 |
| LLM på 32B, 4 bitar | ~20 GB | Pro-32 |
| LLM på 70B, 4 bitar | ~40–45 GB | Pro-48 / Pro-64 |
Två saker att lägga märke till. För det första är hoppet mellan ”vanliga” uppgifter och LLM:er enormt: en bot och en 70B-modell skiljer sig med en faktor tvåhundra. För det andra klarar sig de flesta tjänster fint på 1–4 GB; folk köper för mycket eftersom de dimensionerar för en framtid som sällan kommer.
LLM-formeln
För språkmodeller finns en enkel uppskattning: parametrar × bitar per vikt ÷ 8, plus overhead. En 8B-modell på ungefär 4,5 bitar (en typisk Q4-kvantisering) blir 8 × 4,5 ÷ 8 ≈ 4,5 GB vikter. Lägg till 1–2 GB för kontextfönstret (KV-cachen växer med kontextlängden) och körmiljön, så landar du på 5–6 GB.
Den ärliga delen: på servrar med bara CPU är minnet bara halva historien. Räkna med några få token per sekund för modeller på 7–8B på några vCPU:er och ungefär en token per sekund för 70B. Det duger för batchjobb, bakgrundsagenter och privata experiment; det är ingen chattupplevelse för många samtidiga användare. Om du mest anropar hostade modell-API:er behöver din agent betydligt mindre: se dimensionera en VPS för AI-agenter.
Mät i stället för att gissa
Har du redan en server ligger siffrorna framför dig:
free -h # look at "available", not "free"
ps aux --sort=-rss | head -n 8 # the biggest processes, by resident memory
docker stats --no-stream # per-container usage
Linux använder oanvänt RAM som diskcache, så ”free” är alltid litet, och det är sunt. Available är siffran som räknas: minne som kärnan kan ge program just nu. Ligger available kvar över ~25 % under din mest belastade timme är du rätt dimensionerad. Når det regelbundet noll och swap växer, gå upp.
Kontrollera också om det har skett OOM-dödningar tidigare:
journalctl -k | grep -i "out of memory"
Swap: ett säkerhetsbälte, inte en motor
En swapfil på 1–2 GB på en liten server är en billig försäkring: en paketuppdatering eller ett Docker-bygge som kort behöver mer minne överlever i stället för att dödas. Men om en tjänst lever i swap väntar varje förfrågan på disken. Swap är till för toppar. Ständig swappning betyder att du behöver nästa plan.
Hur mycket ska du köpa, då?
- 1 GB: en bot, ett litet API, en statisk sajt.
- 2 GB: den förnuftiga standarden för allt med en databas eller Docker.
- 4–6 GB: flera tjänster på samma maskin, byggen på servern, en liten lokal modell.
- 32–64 GB: bara när en stor sak måste leva i minnet: en lokal modell över 14B, ett stort RAG-index, en agentflotta. Det är vad planerna med mycket minne är till för.
Börja en storlek mindre än magkänslan säger, håll koll på free -h i en vecka och uppgradera om siffrorna säger det. Hos EQVPS behåller en uppgradering dina data och tar bara betalt för den proportionella skillnaden (så fungerar planbyten).
Kommentarer
Inga kommentarer än. Bli först.