Wie viel RAM braucht ein VPS? Die Regel, Anwendung für Anwendung

Der Arbeitsspeicher ist die Ressource, die am häufigsten über die Größe eines Servers entscheidet: er geht als Erstes aus, und wenn er ausgeht, wird der Server nicht einfach langsamer, sondern beendet Dienste. Dieser Leitfaden gibt Ihnen die Rechenregel, den Bedarf jedes Bausteins einer Anwendung, typische Profile und zeigt, wie Sie auf einem laufenden Server messen.

Veröffentlicht am 15. Oktober 2026 Von Lesezeit: 9 Minuten

Alle Leitfäden

Das Wichtigste in Kürze

  1. Addieren Sie alles, was dauerhaft im Arbeitsspeicher liegt: das System, den Webserver, jeden Prozess der Anwendung, die Datenbank, den Cache.
  2. Bemessen Sie nach der Spitze, nicht nach dem Durchschnitt: ein Build, ein Backup oder ein geplanter Job kann den Verbrauch für einige Minuten verdoppeln.
  3. Rechnen Sie 25 % Reserve hinzu. Der frei bleibende Speicher dient als Festplatten-Cache und beschleunigt die Datenbank.
  4. Lesen Sie auf einem laufenden Server die Spalte available von free -h, nicht die Spalte free.
  5. Wird der Speicher knapp, beendet Linux einen Prozess, oft den größten: die Datenbank. Ein Dienst, der von selbst neu startet, ist das erste Warnzeichen.
  6. Wählen Sie eine Größe, die sich ohne Neuinstallation erweitern lässt: der Bedarf einer Anwendung in Produktion wächst mit ihren Daten.

Die Regel: addieren, was im Speicher bleibt

Ein Server verbraucht Arbeitsspeicher nicht „im Allgemeinen“: jedes laufende Programm belegt einen Teil davon, solange es läuft. Die Rechnung beginnt daher mit der Liste der Prozesse, die dauerhaft laufen, und addiert dann die Spitze und eine Reserve:

Einzuplanender Arbeitsspeicher = (System + dauerhafte Dienste + Spitze der gelegentlichen Aufgaben) × 1,25

Was jeder Baustein verbraucht

Die folgenden Größenordnungen gelten für eine Anwendung üblicher Größe, gemessen in Produktion. Sie sind ein Ausgangspunkt; die Messung an Ihrer eigenen Anwendung, weiter unten beschrieben, hat immer das letzte Wort.

BausteinTypischer SpeicherbedarfWovon er abhängt
Nginx, Caddy (Webserver, Proxy)10 bis 50 MBNahezu fest: die Zahl der Verbindungen fällt kaum ins Gewicht.
PHP-FPM (WordPress, Laravel, Symfony)40 bis 80 MB pro ProzessDie Zahl der Prozesse, begrenzt durch pm.max_children: 10 Prozesse belegen 400 bis 800 MB.
Node.js (API, Next.js, NestJS)60 bis 300 MB pro ProzessDie Zahl der Prozesse (Cluster-Modus, PM2) und die Heap-Größe, begrenzt durch --max-old-space-size.
Python (Django, FastAPI, Flask)80 bis 200 MB pro ProzessDie Zahl der Gunicorn- oder Uvicorn-Worker und die geladenen Bibliotheken: pandas oder ein Machine-Learning-Modell fügen Hunderte MB hinzu.
Java (Spring Boot)300 MB bis 1 GB pro AnwendungDie maximale Heap-Größe: standardmäßig nimmt sich die JVM ein Viertel des Speichers, den sie sieht.
Go, Rust10 bis 100 MBDie Daten, die die Anwendung selbst im Speicher hält.
PostgreSQL25 % des Speichers für shared_buffers, dazu einige MB pro VerbindungDie Menge häufig gelesener Daten, die Zahl der Verbindungen, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, standardmäßig 128 MBAuf einem Server, der nur die Datenbank betreibt, belegt dieser Puffer üblicherweise bis zu 80 % des Speichers.
RedisDie Größe der Daten, dazu seine StrukturenWährend einer Sicherung auf die Festplatte werden geänderte Seiten dupliziert: im ungünstigsten Fall bis zum Doppelten.
Elasticsearch, OpenSearchMindestens 2 GB für den HeapDer Heap bleibt unter der Hälfte des Speichers: der Rest dient als Datei-Cache.

Eine Spitze kehrt bei JavaScript-Anwendungen immer wieder: der Build. npm run build braucht bei einem Next.js-, Nuxt- oder Angular-Projekt üblicherweise allein 1 bis 2 GB, einige Minuten lang, zusätzlich zu allem, was schon läuft. Auf dem Server zu bauen heißt, für diese Spitze zu bemessen; auf Ihrem Rechner oder in Ihrer CI-Pipeline zu bauen und nur das Ergebnis hochzuladen, heißt, sie zu vermeiden.

Dieselbe Überlegung gilt für Docker-Container: jeder Container ist eine Gruppe gewöhnlicher Prozesse, und der Docker-Daemon bringt seinen eigenen Verbrauch mit. docker stats zeigt, was jeder einzelne belegt.

Typische Profile

Diese Profile addieren die Bausteine von oben, Spitze und Reserve inklusive. Sie gehen von einer Anwendung üblicher Größe und dem Traffic eines Starts aus; eine umfangreiche Datenbank oder anhaltender Traffic verschieben den Wert nach oben.

Was auf dem Server läuftEinzuplanender Arbeitsspeicher
Statische Website, Proxy, kleiner Bot oder geplantes Skript1 bis 2 GB
Eine WordPress-Website mit MariaDB und Seiten-Cache2 GB
Ein WooCommerce-Shop oder mehrere WordPress-Websites4 GB
Eine Node.js- oder Python-API mit PostgreSQL, erste Nutzer4 GB
Eine auf dem Server gebaute Next.js-Anwendung, ihre API und ihre PostgreSQL-Datenbank6 bis 8 GB
Mehrere Anwendungen in Containern, Staging und Produktion8 GB
Eine Datenbank von mehreren zehn GB, intensiv abgefragt16 GB und mehr
Ein Sprachmodell mit 7 bis 8 Milliarden Parametern, auf dem Server ausgeführt16 GB

Eine Anwendung, die ein KI-Modell per API aufruft (OpenAI, Anthropic, Mistral), wird bemessen wie jede andere Webanwendung: das Modell läuft beim Anbieter, und Ihr Server wartet auf die Antwort. Erst die Ausführung des Modells auf dem Server selbst verändert die Größenordnung.

Auf einem laufenden Server messen

Auf einem Server in Betrieb ersetzt die Messung die Schätzung. Drei Befehle zeigen, wo Sie stehen:

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

Messen Sie zur geschäftigsten Tageszeit und während der gelegentlichen Aufgaben: Build, Backup, Import. Es zählt die Spitze.

Wenn der Arbeitsspeicher knapp wird

Ein Server ohne freien Speicher wird nicht allmählich langsamer. Wenn nichts mehr freizugeben ist, löst der Linux-Kernel den OOM-Killer aus (out of memory): er wählt einen Prozess, in der Regel den mit dem größten Speicherverbrauch, und beendet ihn sofort. Auf einem Anwendungsserver ist das oft die Datenbank.

Die Symptome: zeitweise Fehler 502 oder 503, ein Dienst, der ohne erkennbaren Grund neu startet, ein Build, der mit Killed abbricht. Die Logs bestätigen es:

Terminal
journalctl -k | grep -i "out of memory"
systemctl status name-des-dienstes

In der Ausgabe von systemctl status kennzeichnet der Hinweis Failed with result 'oom-kill' einen Dienst, der aus Speichermangel beendet wurde.

Der Swap, sofern der Server einen hat, zögert diesen Moment hinaus, indem er den am wenigsten genutzten Speicher auf die Festplatte auslagert. Er ist ein Sicherheitsnetz, keine Kapazität: ein Server, der dauerhaft auf den Swap angewiesen ist, antwortet um ein Mehrfaches langsamer, selbst auf einer NVMe-SSD.

Die Abhilfen, von der einfachsten bis zur nachhaltigsten: die Zahl der Anwendungsprozesse senken (pm.max_children, Gunicorn-Worker), außerhalb des Servers bauen, den Speicher der Datenbank begrenzen, dann in die nächsthöhere Größe wechseln.

Die Größe wählen und vorausplanen

  1. Listen Sie auf, was laufen wird: Webserver, Anwendung und Zahl ihrer Prozesse, Datenbank, Cache, geplante Jobs.
  2. Addieren Sie mit der Tabelle der Bausteine, nehmen Sie die schwerste Spitze hinzu (oft den Build) und dann 25 % Reserve.
  3. Wählen Sie die Größe, die diese Summe abdeckt. Zwischen zwei benachbarten Größen genügt die kleinere, sofern der Wechsel in die nächsthöhere ohne Neuinstallation möglich ist.
  4. Messen Sie nach dem Livegang, zur Tagesspitze, und dann bei jedem Wachstumsschritt der Anwendung.

Neben dem Arbeitsspeicher zählen weitere Ressourcen: der Prozessor für alles, was rechnet (Build, Bildverarbeitung, Ausführung eines KI-Modells), die Festplatte für die Datenbank und die Dateien. Bei einer Webanwendung ist es dennoch fast immer der Arbeitsspeicher, der die Größe bestimmt.

Die richtige Größe, und die Freiheit, sie zu wechseln

Den VPS Pro gibt es in sechs Größen, auf Intel-Xeon-Prozessoren, ECC-Speicher und gespiegelten NVMe-SSDs, und er wechselt jederzeit ohne Neuinstallation in die nächsthöhere Größe. Der Full-Stack-Support ist inbegriffen: beschreiben Sie uns, was Ihr Server betreiben soll, wir empfehlen Ihnen die Größe, und danach stellen wir bei jeder Frage die Diagnose und sagen Ihnen, was zu tun ist, vom System bis zum Code Ihrer Anwendung.

VPS Pro entdecken

Häufige Fragen

Wie viel RAM braucht ein kleiner VPS?

Eine statische Website, ein Proxy oder ein kleines Skript laufen mit 1 bis 2 GB. Sobald sich eine Datenbank und eine Anwendung (PHP, Node.js, Python) den Server teilen, rechnen Sie mit 2 GB für eine WordPress-Website und 4 GB für eine individuelle Anwendung mit PostgreSQL.

Wie viel RAM braucht WordPress auf einem VPS?

2 GB für eine Website mit MariaDB und Seiten-Cache, 4 GB für einen WooCommerce-Shop oder mehrere Websites. Die Zahl der PHP-FPM-Prozesse ist die erste Stellschraube: jeder belegt 40 bis 80 MB.

Kann Swap den Arbeitsspeicher ersetzen?

Nein. Swap verhindert einen abrupten Abbruch, wenn der Speicher voll ist, aber ein Server, der ihn dauerhaft nutzt, antwortet um ein Mehrfaches langsamer, selbst auf einer NVMe-SSD. Er ist ein Sicherheitsnetz; die Größe wählt man nach dem Arbeitsspeicher.

Warum zeigt free kaum noch freien Speicher an?

Weil Linux ungenutzten Speicher als Datei-Cache verwendet. Dieser Cache wird freigegeben, sobald ein Programm Speicher braucht. Die Spalte, auf die es ankommt, ist available: sie zeigt den tatsächlich verfügbaren Speicher.

Wie viel RAM braucht der Build einer Next.js-Anwendung?

Rechnen Sie mit 1 bis 2 GB allein für den Build, zusätzlich zu dem, was schon auf dem Server läuft. Wenn Sie auf Ihrem Rechner oder in Ihrer CI-Pipeline bauen und nur das Ergebnis hochladen, vermeiden Sie diese Spitze.

Kontaktieren Sie uns