Câtă memorie RAM pentru un VPS: regula, în funcție de utilizare

Memoria este resursa care stabilește cel mai des dimensiunea unui server: ea se termină prima, iar când se termină, serverul nu încetinește, ci oprește servicii. Acest ghid prezintă regula de calcul, ce consumă fiecare componentă a unei aplicații, profiluri tipice și modul de măsurare pe un server care rulează deja.

Publicat la 15 octombrie 2026 Autor: Timp de citire: 9 minute

Toate ghidurile

Esențialul

  1. Adunați tot ce rămâne permanent în memorie: sistemul, serverul web, fiecare proces al aplicației, baza de date, cache-ul.
  2. Dimensionați după vârf, nu după medie: o compilare, un backup sau o sarcină programată pot dubla consumul timp de câteva minute.
  3. Adăugați o marjă de 25%. Memoria care rămâne liberă servește drept cache de disc și accelerează baza de date.
  4. Pe un server care rulează deja, citiți coloana available din free -h, nu coloana free.
  5. Când memoria se termină, Linux oprește un proces, adesea pe cel mai mare: baza de date. Un serviciu care repornește singur este primul semn de urmărit.
  6. Alegeți o dimensiune care vă lasă să creșteți fără reinstalare: nevoile unei aplicații în producție cresc odată cu datele ei.

Regula: adunați ce rămâne în memorie

Un server nu consumă memorie „în general”: fiecare program care rulează își păstrează o parte din ea, cât timp rulează. Calculul pornește deci de la lista proceselor prezente permanent, apoi adaugă vârful și o marjă:

Memorie necesară = (sistem + servicii permanente + vârful sarcinilor ocazionale) × 1,25

Ce consumă fiecare componentă

Ordinele de mărime de mai jos sunt valabile pentru o aplicație de dimensiune obișnuită, măsurată în producție. Ele oferă un punct de plecare; măsurarea pe propria aplicație, descrisă mai jos, are întotdeauna ultimul cuvânt.

ComponentăMemorie tipicăCe o face să varieze
Nginx, Caddy (server web, proxy)Între 10 și 50 MBAproape fixă: numărul de conexiuni contează puțin.
PHP-FPM (WordPress, Laravel, Symfony)Între 40 și 80 MB per procesNumărul de procese, plafonat de pm.max_children: 10 procese înseamnă între 400 și 800 MB.
Node.js (API, Next.js, NestJS)Între 60 și 300 MB per procesNumărul de procese (modul cluster, PM2) și dimensiunea heap-ului, limitată de --max-old-space-size.
Python (Django, FastAPI, Flask)Între 80 și 200 MB per procesNumărul de workeri Gunicorn sau Uvicorn și bibliotecile încărcate: pandas sau un model de învățare automată adaugă sute de MB.
Java (Spring Boot)Între 300 MB și 1 GB per aplicațieDimensiunea maximă a heap-ului: implicit, JVM își alocă un sfert din memoria pe care o vede.
Go, RustÎntre 10 și 100 MBDatele pe care aplicația le păstrează ea însăși în memorie.
PostgreSQL25% din memorie pentru shared_buffers, plus câțiva MB per conexiuneVolumul de date consultate des, numărul de conexiuni, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, implicit 128 MBPe un server dedicat bazei de date, acest buffer ocupă frecvent până la 80% din memorie.
RedisDimensiunea datelor, plus structurile saleÎn timpul unei salvări pe disc, paginile modificate sunt duplicate: până la dublu în cel mai rău caz.
Elasticsearch, OpenSearchCel puțin 2 GB pentru heapHeap-ul nu depășește jumătate din memorie: restul servește drept cache pentru fișiere.

Un vârf revine des la aplicațiile JavaScript: compilarea. npm run build pe un proiect Next.js, Nuxt sau Angular cere frecvent între 1 și 2 GB doar pentru el, timp de câteva minute, pe lângă ce rulează deja. A compila pe server înseamnă a dimensiona pentru acest vârf; a compila pe calculatorul dumneavoastră sau în integrarea continuă și a depune doar rezultatul înseamnă a-l evita.

Același raționament este valabil pentru containerele Docker: fiecare container este un ansamblu de procese ca oricare altele, iar daemonul Docker își adaugă propriul consum. docker stats afișează cât ia fiecare.

Profiluri tipice

Aceste profiluri adună componentele de mai sus, cu vârf și marjă incluse. Ele presupun o aplicație de dimensiune obișnuită și traficul unei lansări; o bază de date voluminoasă sau un trafic susținut mută cursorul în sus.

Ce rulează pe serverMemorie necesară
Site static, proxy, bot mic sau script programatÎntre 1 și 2 GB
Un site WordPress cu MariaDB și un cache de pagini2 GB
Un magazin WooCommerce sau mai multe site-uri WordPress4 GB
Un API Node.js sau Python cu PostgreSQL, primii utilizatori4 GB
O aplicație Next.js compilată pe server, cu API-ul și baza ei PostgreSQLÎntre 6 și 8 GB
Mai multe aplicații în containere, preproducție și producție8 GB
O bază de date de câteva zeci de GB, consultată intensiv16 GB și peste
Un model de limbaj cu 7 până la 8 miliarde de parametri, rulat pe server16 GB

O aplicație care apelează un model AI prin API (OpenAI, Anthropic, Mistral) se dimensionează ca orice aplicație web: modelul rulează la furnizorul său, iar serverul dumneavoastră îi așteaptă răspunsul. Rularea modelului pe serverul însuși este cea care schimbă ordinul de mărime.

Măsurarea pe un server care rulează

Pe un server în funcțiune, măsurarea înlocuiește estimarea. Trei comenzi arată unde vă aflați:

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

Măsurați în momentul cel mai încărcat al zilei și în timpul sarcinilor ocazionale: compilare, backup, import. Vârful este cel care contează.

Când se termină memoria

Un server rămas fără memorie nu încetinește treptat. Când nu mai are nimic de eliberat, nucleul Linux declanșează OOM killer (out of memory): alege un proces, în general pe cel care ocupă cea mai multă memorie, și îl oprește brusc. Pe un server de aplicații, acesta este adesea baza de date.

Simptomele: erori 502 sau 503 din când în când, un serviciu care repornește fără motiv aparent, o compilare care se întrerupe cu mesajul Killed. Jurnalele confirmă:

Terminal
journalctl -k | grep -i "out of memory"
systemctl status numele-serviciului

În rezultatul comenzii systemctl status, mențiunea Failed with result 'oom-kill' desemnează un serviciu oprit din lipsă de memorie.

Swap-ul, când serverul dispune de el, amână acest moment mutând pe disc memoria cel mai puțin folosită. Este o plasă de siguranță, nu o capacitate: un server care se sprijină continuu pe swap răspunde de câteva ori mai lent, chiar și pe un SSD NVMe.

Remediile, de la cel mai simplu la cel mai durabil: reduceți numărul de procese ale aplicației (pm.max_children, workerii Gunicorn), compilați în afara serverului, limitați memoria bazei de date, apoi treceți la o dimensiune superioară.

Alegerea dimensiunii și pregătirea pentru ce urmează

  1. Enumerați ce va rula: serverul web, aplicația și numărul ei de procese, baza de date, cache-ul, sarcinile programate.
  2. Adunați cu ajutorul tabelului componentelor, adăugați vârful cel mai greu (adesea compilarea), apoi o marjă de 25%.
  3. Alegeți dimensiunea care acoperă acest total. Între două dimensiuni vecine, cea mai mică se potrivește atunci când trecerea la dimensiunea superioară se face fără reinstalare.
  4. Măsurați după lansare, la vârful zilei, apoi la fiecare etapă de creștere a aplicației.

Memoria nu este singura resursă: procesorul contează pentru ce calculează (compilare, procesare de imagini, rularea unui model AI), discul pentru baza de date și fișiere. Pentru o aplicație web însă, memoria este aproape întotdeauna cea care stabilește dimensiunea.

Dimensiunea potrivită și libertatea de a o schimba

VPS Pro este disponibil în șase dimensiuni, pe procesoare Intel Xeon, memorie ECC și SSD NVMe în oglindă, și trece la dimensiunea superioară oricând, fără reinstalare. Asistența integrală este inclusă: descrieți-ne ce va rula serverul dumneavoastră și vă recomandăm dimensiunea, apoi, la fiecare întrebare, punem diagnosticul și vă indicăm ce aveți de făcut, de la sistem până la codul aplicației dumneavoastră.

Descoperiți gama VPS Pro

Întrebări frecvente

Câtă memorie RAM pentru un VPS mic?

Unui site static, unui proxy sau unui script mic le ajung între 1 și 2 GB. De îndată ce o bază de date și o aplicație (PHP, Node.js, Python) împart serverul, socotiți 2 GB pentru un site WordPress și 4 GB pentru o aplicație la comandă cu PostgreSQL.

Câtă memorie RAM pentru WordPress pe un VPS?

2 GB pentru un site cu MariaDB și un cache de pagini, 4 GB pentru un magazin WooCommerce sau mai multe site-uri. Numărul de procese PHP-FPM este prima setare de reglat: fiecare ocupă între 40 și 80 MB.

Poate swap-ul să înlocuiască memoria RAM?

Nu. Swap-ul evită o oprire bruscă atunci când memoria este plină, dar un server care îl folosește continuu răspunde de câteva ori mai lent, chiar și pe un SSD NVMe. Este o plasă de siguranță; dimensiunea se alege după memorie.

De ce free nu mai afișează aproape deloc memorie liberă?

Pentru că Linux folosește memoria nefolosită drept cache pentru fișiere. Acest cache se eliberează imediat ce un program are nevoie de memorie. Coloana de citit este available, care arată memoria disponibilă efectiv.

Câtă memorie RAM pentru a compila o aplicație Next.js?

Socotiți între 1 și 2 GB doar pentru compilare, pe lângă ce rulează deja pe server. Compilarea pe calculatorul dumneavoastră sau în integrarea continuă, urmată de depunerea doar a rezultatului, evită acest vârf.

Contactați-ne