SSD Nodes Learn Hosting plans →
Anleitungen Matt ConnorVon Matt Connor · Aktualisiert 2026-08-25

GLM 5.2 auf eigenem VPS ausführen: Anleitung

GLM 5.2 ist in Ollama nur cloudbasiert verfügbar. Erfahren Sie, warum das Modell 378 GB RAM benötigt und welches GLM-Modell mit 30B Parametern tatsächlich auf Ihrem VPS läuft.

Kann man GLM 5.2 auf einem VPS ausführen?

Nein, und es ist wichtig, den Grund dafür zu kennen, bevor Sie Ressourcen mieten. Stand 18. August 2026 besitzt GLM 5.2 in der Ollama-Bibliothek genau ein Tag, glm-5.2:cloud. Ein :cloud-Tag läuft auf den Servern von Ollama. Ihr Server sendet den Prompt und empfängt die Tokens, die Gewichte gelangen also nie auf Ihren Datenträger. Das Modell umfasst 756 Milliarden Parameter. Vier Bit pro Parameter bei 756 Milliarden Parametern entsprechen etwa 378 GB an Gewichten; dies ist die reine Rechengröße vor Berücksichtigung von Kontext, Aktivierungen oder dem Betriebssystem. Kein Standard-VPS-Tarif bietet so viel Arbeitsspeicher.

Das GLM-Modell, das auf einen gemieteten Server passt, ist glm-4.7-flash. Es wird mit herunterladbaren Gewichten in 4 Tags veröffentlicht. Es handelt sich um ein Mixture-of-Experts-Modell, bei dem nur ein kleiner Teil des Netzwerks pro Token ausgeführt wird. Z.ai beschreibt es als 30B-A3B: 30 Milliarden Parameter insgesamt, etwa 3 Milliarden aktiv pro Token. Diese Anleitung beantwortet daher die Frage, wie Sie praktisch vorgehen können. Legen Sie ein Tag fest, dimensionieren Sie den Server, messen Sie die Geschwindigkeit und halten Sie den Endpunkt privat.

Überprüfen Sie das Tag, bevor Sie Befehle kopieren, auch die hier aufgeführten. Die Ollama-Bibliothek ändert sich ohne Vorankündigung. Öffnen Sie die glm-4.7-flash Tag-Liste und bestätigen Sie, dass das Tag noch existiert. Falls ein neueres GLM-Release mit lokalen Gewichten erschienen ist, bevorzugen Sie dieses und dokumentieren Sie, welches Tag Sie tatsächlich getestet haben.

Wenn Sie GLM 5.2 dennoch nutzen möchten, funktioniert ollama run glm-5.2:cloud nach ollama signin, und aus Sicht des Clients verhält es sich wie jedes andere Ollama-Modell. Seien Sie sich bewusst, worauf Sie sich einlassen: Der Prompt verlässt Ihren Server. Wenn Ihr Grund für das Self-Hosting darin besteht, dass Daten auf Ihrer Maschine bleiben müssen, erfüllt ein :cloud-Tag diese Anforderung nicht.

Welche GLM-Tags existieren und welches sollte fixiert werden

Drei offizielle GLM-Einträge sind hier relevant. glm-5.2 und glm-5.1 sind reine Cloud-Varianten. glm-4.7-flash ist die lokale Version; dies sind die veröffentlichten Tags zusammen mit der von Ollama jeweils angegebenen Download-Größe.

Chartglm-4.7-flash tags in Ollama's library, checked 2026-08-18
The data behind this chart
[
  {
    "label": "q4_K_M",
    "download_gb": 19
  },
  {
    "label": "latest",
    "download_gb": 19
  },
  {
    "label": "q8_0",
    "download_gb": 32
  },
  {
    "label": "bf16",
    "download_gb": 60
  }
]

Dies sind die veröffentlichten Werte von der Bibliotheksseite, keine eigenen Messungen. latest und q4_K_M werden beide mit 19 GB gelistet, daher verweist latest aktuell auf den Q4-Build. Dies kann sich bei jeder erneuten Veröffentlichung ändern, weshalb Sie niemals ein bloßes ollama pull glm-4.7-flash in ein Skript oder ein Dockerfile schreiben sollten. Geben Sie die Quantisierung explizit an. Das größte Tag, bf16, ist ein 60 GB großer Download, der die unquantisierten bfloat16-Gewichte enthält.

Eine Suche in der Bibliothek liefert auch namensraumbezogene Uploads mit einem Schrägstrich im Namen, wie etwa someuser/glm-5.2. Ein Schrägstrich bedeutet, dass ein Benutzerkonto diesen veröffentlicht hat; es handelt sich also um einen Community-Re-Upload und nicht um den offiziellen Eintrag. Niemand garantiert, welche Gewichte darin enthalten sind. Behandeln Sie ein solches Paket so, wie Sie jedes unsignierte Binärprogramm behandeln würden, das Sie im Internet finden.

Ollama installieren und das exakte Tag laden

Der Linux-Installer von Ollama besteht aus einem einzigen Befehl.

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

Der Installer erstellt einen systemd-Dienst, der unter dem Benutzer ollama ausgeführt wird. Überprüfen Sie den Startvorgang, bevor Sie Daten laden.

systemctl status ollama --no-pager

Active: active (running) bedeutet, dass die API auf Port 11434 auf Anfragen wartet. Falls die Unit nicht existiert, ist der Installer auf eine einfache Binärinstallation ausgewichen. Die Ollama Linux-Dokumentation enthält die Service-Datei, die Sie in diesem Fall manuell erstellen müssen.

Die Seite glm-4.7-flash listet eine Mindestversion für Ollama auf. Eine veraltete Binärdatei führt das Modell nicht langsam aus, sondern verweigert den Dienst: Der Pull-Vorgang schlägt mit der Meldung fehl, dass das Modell eine neuere Ollama-Version erfordert. Führen Sie das Installationsskript erneut aus, um ein Upgrade durchzuführen. Stand 18. August 2026 ist die aktuelle Version 0.32.14, welche diese Anforderung weit übertrifft.

Laden Sie nun ein Tag anhand seines Namens.

ollama pull glm-4.7-flash:q4_K_M
ollama ls

ollama ls sollte glm-4.7-flash:q4_K_M mit einer Größe auflisten, die nahe bei den veröffentlichten 19 GB liegt. Ein Pull-Vorgang, der vorzeitig abbricht, hinterlässt keine ausführbaren Daten; führen Sie den Befehl in diesem Fall einfach erneut aus. Die häufigste Ursache für einen fehlgeschlagenen Pull bei kleinen Instanzen ist ein voller Datenträger und kein Netzwerkproblem, da das Modell unter /usr/share/ollama/.ollama/models auf dem Root-Dateisystem gespeichert wird. Überprüfen Sie dies mit df -h /usr/share/ollama, bevor Sie beginnen.

Wie viel RAM benötigt jede Quantisierung?

Beginnen Sie mit der Download-Größe als Untergrenze und addieren Sie weitere Werte hinzu. Die Gewichte müssen vollständig im Arbeitsspeicher geladen sein. Zusätzlich belegt der KV-Cache (Key/Value-Cache) Speicherplatz; dies ist der Bereich, den die Laufzeitumgebung nutzt, um sich die bereits im Gespräch generierten Tokens zu merken. Hinzu kommen Rechenpuffer und der Speicherbedarf des Betriebssystems. Ein System mit exakt 19 GB RAM wird das 19 GB-Tag nicht ausführen können.

Es gibt keinen universellen Multiplikator, da der KV-Cache mit der zugelassenen Kontextlänge wächst und der restliche Speicherbedarf zwischen verschiedenen Laufzeitversionen variiert. Messen Sie daher, anstatt zu schätzen. Laden Sie das Modell mit einem einfachen Prompt und lesen Sie ab, wie viel Speicher der Server reserviert hat.

ollama run glm-4.7-flash:q4_K_M "Reply with the single word: ready"
ollama ps

ollama ps gibt das geladene Modell mit einer SIZE-Spalte und einer PROCESSOR-Spalte aus. SIZE entspricht dem tatsächlich von der Laufzeitumgebung reservierten Speicher; dies ist der Wert, den Sie mit Ihrer Planung vergleichen sollten. PROCESSOR zeigt an, wo die Berechnung stattfindet; 100% CPU bedeutet beispielsweise, dass keine GPU beteiligt war.

Wenn das Modell nicht in den Speicher passt, erfolgt der Fehler ohne explizite Meldung und äußert sich auf zwei Arten. Bei aktiviertem Swap scheint der Ladevorgang erfolgreich zu sein, aber die Generierung verläuft extrem langsam, da für jedes Token Speicherseiten zwischen Festplatte und RAM verschoben werden. Ohne Swap wird der Prozess sofort beendet, und journalctl -k | grep -i "out of memory" zeigt in der Out of memory: Killed process-Zeile des Kernels den Namen ollama an. Überprüfen Sie beides, da in keinem der Fälle eine hilfreiche Fehlermeldung im Terminal erscheint, in dem Sie den Befehl eingegeben haben.

Der Schritt vom 19 GB Q4-Tag zum 32 GB Q8-Tag ist der wichtigste Hebel, den Sie zur Beeinflussung dieses Wertes haben. Q4 kostet etwas Ausgabequalität. Wie stark sich dies auswirkt, hängt von der Aufgabe ab; strukturierte Ausgaben und lange logische Schlussfolgerungen leiden stärker darunter als einfache Konversationen. Unterschiede zwischen Q4, Q8 und FP16 in der Praxis zu lesen ist empfehlenswert, bevor Sie sich festlegen, da auf einem reinen CPU-VPS die Wahl der Quantisierung meist darüber entscheidet, ob das Modell überhaupt läuft.

Was passiert auf einem VPS ohne GPU

Die meisten VPS-Tarife enthalten keine GPU, und Ollama führt das Modell ohne Warnung auf der CPU aus. Ob das Ergebnis brauchbar ist, hängt von der Arbeitslast und Ihrer Geduld ab.

Das Mixture-of-Experts-Design hilft bei der Geschwindigkeit. Da für jedes Token nur etwa 3 Milliarden der 30 Milliarden Parameter verwendet werden, ist der Rechenaufwand pro Token deutlich geringer als bei einem dichten 30B-Modell. Was jedoch nicht schrumpft, ist der Speicherbedarf. Jeder Experte muss im Arbeitsspeicher resident bleiben, da der Router für das nächste Token jeden von ihnen auswählen kann. Ein System ohne GPU benötigt daher weiterhin die vollen 19 GB oder mehr für das Q4-Tag, und der Durchsatz wird primär durch die Speicherbandbreite und weniger durch die Taktfrequenz bestimmt.

Dies hat eine praktische Konsequenz: Zwei Tarife mit der gleichen Anzahl an Kernen und dem gleichen RAM können spürbar unterschiedliche Geschwindigkeiten aufweisen, da sich ihre Speichersubsysteme unterscheiden. Ein Shared-Tarif fügt eine zweite Variable hinzu, da sich CPU-Steal-Time durch einen lauten Nachbarn in einer Tokens-pro-Sekunde-Zahl niederschlägt, die sich von Stunde zu Stunde ändert. Aus diesem Grund lassen die veröffentlichten Zahlen anderer Anbieter keine Rückschlüsse auf Ihre eigene Leistung zu, und deshalb ist der nächste Abschnitt ein Rezept für Messungen anstelle einer Ergebnistabelle.

Messen der eigenen Tokens pro Sekunde

Der generate-Endpunkt von Ollama liefert Zeitmessungsdaten im abschließenden JSON-Objekt. Teilen Sie die Anzahl der generierten Tokens durch die Dauer der Generierung, um Ihren Wert für Ihren Tarif und Ihren Prompt zu erhalten.

sudo apt install -y jq
curl -s http://localhost:11434/api/generate -d '{
  "model": "glm-4.7-flash:q4_K_M",
  "prompt": "Write a 200 word explanation of how TCP congestion control works.",
  "stream": false,
  "options": {"num_ctx": 8192}
}' | jq '{
  tokens: .eval_count,
  tokens_per_second: (.eval_count / .eval_duration * 1e9),
  prompt_seconds: (.prompt_eval_duration / 1e9),
  load_seconds: (.load_duration / 1e9)
}'

eval_count gibt an, wie viele Tokens generiert wurden, und eval_duration ist die für die Generierung benötigte Zeit in Nanosekunden; eval_count / eval_duration * 1e9 entspricht somit den Tokens pro Sekunde. prompt_eval_duration umfasst das Einlesen Ihres Prompts, was der Benutzer als Wartezeit wahrnimmt, bevor das erste Token erscheint. load_duration ist die Zeit, die für das Laden des Modells von der Festplatte benötigt wird; dieser Wert ist beim ersten Aufruf nach einem Neustart hoch und bei nachfolgenden Aufrufen nahezu null.

Führen Sie den Test dreimal aus und verwenden Sie die Ergebnisse des zweiten und dritten Durchlaufs, da der erste Durchlauf die Ladezeit enthält. Wiederholen Sie den Test anschließend mit einem deutlich längeren Prompt, da die Verarbeitung des Prompts mit der Eingabelänge skaliert, die Generierungsgeschwindigkeit hingegen nicht. Notieren Sie die Werte neben Ihrem Tarifnamen und Ihrer Quantisierung. Diese Aufzeichnung ist wertvoller als jeder Benchmark, den Sie lesen, da sie auf der Hardware gemessen wurde, für die Sie bezahlen.

Wie die Kontextlänge den Speicherbedarf vervielfacht

Ollama verwendet standardmäßig einen Kontext von 4096 Tokens. Das Modell unterstützt zwar deutlich mehr, nämlich 198K Tokens für glm-4.7-flash, dies ist jedoch nicht die Standardeinstellung und die Aktivierung ist mit Ressourcenkosten verbunden.

Der KV-Cache speichert für jedes Token in jeder Schicht einen Key-Vektor und einen Value-Vektor. Seine Größe wächst linear mit der Anzahl der zugelassenen Tokens. Eine Erhöhung von 4096 auf 32768 Tokens entspricht dem Achtfachen des Kontextes und damit in etwa dem Achtfachen des KV-Caches. Auf einem System, dessen Arbeitsspeicher gerade für die Modellgewichte ausreicht, führt diese zusätzliche Zuweisung dazu, dass das System in den Swap-Bereich auslagert. Dies ist der Grund, warum ein System, das kurze Prompts problemlos verarbeitet, bei langen Dokumenten plötzlich extrem langsam reagiert.

Legen Sie den Wert pro Anfrage über num_ctx im Options-Objekt fest, wie im obigen curl-Befehl gezeigt, oder ändern Sie den Standardwert des Servers.

sudo install -d -m 755 /etc/systemd/system/ollama.service.d
printf '[Service]\nEnvironment="OLLAMA_CONTEXT_LENGTH=16384"\n' \
  | sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
systemctl show ollama --property=Environment

Der letzte Befehl sollte Ihren OLLAMA_CONTEXT_LENGTH-Wert ausgeben. Wenn ein leerer Environment=-Wert ausgegeben wird, befindet sich die Override-Datei im falschen Verzeichnis oder das Neuladen wurde nicht durchgeführt. Nach dem nächsten Laden des Modells sollte ollama ps einen deutlich größeren SIZE-Wert anzeigen als bei 4096. Erhöhen Sie den Wert schrittweise und beobachten Sie diese Zahl bei jedem Durchgang. Festlegen der Ollama-Kontextlänge mit num_ctx erläutert, wie sich dies auf keep-alive und parallele Anfragen auswirkt, da beide Faktoren die gleichen Kosten vervielfachen. Wenn mehrere Clients den Server nutzen, sollten Sie die Nebenläufigkeitslimits gleichzeitig mit dem Kontext festlegen, da jeder parallele Slot einen eigenen KV-Cache benötigt und die Warteschlangeneinstellung bestimmt, ob eine zweite Anfrage wartet oder direkt abgelehnt wird.

Wenn die API günstiger ist als die eigene Hardware

Self-Hosting ist nicht automatisch kostengünstiger. Für diese Modellfamilie verdeutlichen die veröffentlichten Listenpreise diesen Punkt auf ungewöhnliche Weise.

ChartZ.ai published list prices per million tokens, checked 2026-08-18
The data behind this chart
[
  {
    "label": "GLM-5.2 input",
    "usd_per_million_tokens": 1.4
  },
  {
    "label": "GLM-5.2 output",
    "usd_per_million_tokens": 4.4
  },
  {
    "label": "GLM-4.7-Flash input",
    "usd_per_million_tokens": 0
  },
  {
    "label": "GLM-4.7-Flash output",
    "usd_per_million_tokens": 0
  }
]

Stand 18. August 2026 listet Z.ai GLM-5.2 mit $1.4 pro Million Input-Token und $4.4 pro Million Output-Token. GLM-4.7-Flash, das Modell, das in dieser Anleitung lokal ausgeführt wird, wird mit $0 für beide Richtungen geführt. Dies sind veröffentlichte Preise, die sich ändern können; prüfen Sie daher die aktuelle Seite, bevor Sie ein Budget auf Basis dieser Werte planen.

Das finanzielle Argument für Self-Hosting glm-4.7-flash ist derzeit also schwach. Ein VPS mit ausreichend RAM kostet jeden Monat echtes Geld, während der Anbieter dasselbe Modell kostenlos bereitstellt. Was Sie durch den Eigenbetrieb gewinnen, ist etwas anderes: Ihre Prompts verbleiben auf einer Maschine, die Sie kontrollieren, und die Modellversion ändert sich nie, es sei denn, Sie ändern sie selbst. Das sind gute Gründe für Self-Hosting. Die Kosten gehören bei diesem Modell und diesen Preisen nicht dazu.

Die Rechnung ändert sich, wenn das gewünschte Modell nicht kostenlos ist oder wenn Ihre Daten das eigene Netzwerk aus rechtlichen Gründen nicht verlassen dürfen. Der Break-Even-Punkt zwischen einem GPU-VPS und API-Token führt durch diese Berechnung, wobei jede Variable benannt wird. Falls Sie noch bei der Auswahl der Maschine sind, ist was ein VPS tatsächlich pro Monat kostet die andere Hälfte der Summe.

Den Endpunkt auf localhost belassen

Dies ist der Schritt, den die meisten überspringen, obwohl er am wichtigsten ist.

Ollama bindet standardmäßig an 127.0.0.1 auf Port 11434, sodass es nur vom Server selbst aus erreichbar ist. Überprüfen Sie dies auf Ihrem System, anstatt es vorauszusetzen.

ss -ltnp | grep 11434

Sie sollten 127.0.0.1:11434 sehen. Wenn Sie 0.0.0.0:11434 oder *:11434 sehen, bedeutet dies, dass die API auf allen Schnittstellen lauscht, einschließlich der öffentlichen.

Dies ist kritisch, da die API von Ollama keine Authentifizierung besitzt. Es gibt kein Passwort, kein Token und keine Whitelist. Jeder, der Port 11434 erreichen kann, kann Ihre Modelle auflisten, Berechnungen auf Ihrer Hardware ausführen, für die Sie bezahlen, neue Modelle auf Ihre Festplatte laden, bis diese voll ist, und Ihre vorhandenen Modelle löschen. Port 11434 ist fest definiert und bekannt, daher finden Scanner offene Ports schnell.

Setzen Sie nicht OLLAMA_HOST=0.0.0.0. Viele Anleitungen schlagen dies als Lösung vor, wenn ein Client auf Ihrem Laptop keine Verbindung herstellen kann; dies ist jedoch die falsche Lösung. Leiten Sie stattdessen den Port weiter.

ssh -N -L 11434:127.0.0.1:11434 you@your-server

Dies leitet Port 11434 auf Ihrem Laptop über SSH an die Loopback-Adresse des Servers weiter. Dadurch funktioniert jeder Client, der für http://localhost:11434 konfiguriert ist, unverändert, und es wird nichts Neues nach außen hin exponiert. Für mehrere Personen oder mehrere Rechner sollten Sie den Server in ein privates Tunnel-Netzwerk einbinden und Ollama an die Tunnel-Adresse binden, niemals an 0.0.0.0.

Überprüfen Sie dies von einem anderen Ort als dem Server aus. Führen Sie dies von Ihrem Laptop aus, während der SSH-Tunnel geschlossen ist:

curl -m 5 http://your-server-ip:11434/api/tags

curl: (28) Connection timed out oder curl: (7) Failed to connect ist das korrekte Ergebnis. Eine JSON-Liste Ihrer Modelle bedeutet, dass der Port zum Internet hin offen ist und sofort korrigiert werden muss. Die Netzwerk-Firewall Ihres Providers ist eine separate Kontrollebene neben der Firewall auf dem Server selbst; prüfen Sie daher beide. Die allgemeinere Frage, ob VPS-Hosting sicher ist behandelt die restlichen Grundlagen für einen Rechner, den Sie dauerhaft betreiben.

Wenn glm-4.7-flash weiterhin zu groß ist

Wenn das Q4-Tag nicht in Ihren Plan passt, ist die Lösung ein kleineres Modell, nicht ein kleinerer Kontext. Den Kontext zu kürzen, um ein Modell unterzubringen, führt dazu, dass es zwar geladen wird, aber bei der ersten langen Eingabeaufforderung fehlschlägt. Qwen 3 mit 8B und 27B auf einem VPS beschreibt denselben Installationspfad für Größen, die für bescheidenere Systeme geeignet sind, und der allgemeine Leitfaden zum Self-Hosting eines LLM mit Ollama auf einem VPS behandelt die Aspekte, die unabhängig von der Modellwahl gleich bleiben. Wofür auch immer Sie sich entscheiden: Fixieren Sie das Tag, testen Sie es auf Ihrem eigenen Plan und belassen Sie den Endpunkt auf dem Loopback-Interface.

FAQ

Kann GLM 5.2 lokal auf einem VPS ausgeführt werden?

Nein. Stand 18. August 2026 existiert GLM 5.2 in der Ollama-Bibliothek nur als glm-5.2:cloud. Dies ist ein Tag, der auf der Infrastruktur von Ollama läuft und ollama signin benötigt, um zu funktionieren. Das Modell umfasst 756 Milliarden Parameter. Selbst bei vier Bit pro Parameter betragen allein die Gewichte hunderte Gigabytes. Dies übersteigt die Kapazitäten jedes Standard-VPS-Tarifs bei weitem. Das GLM-Modell mit herunterladbaren Gewichten, das auf einen gemieteten Server passt, ist glm-4.7-flash.

Wie viel RAM benötigt glm-4.7-flash?

Betrachten Sie die Download-Größe des Tags als Untergrenze und addieren Sie den Speicherbedarf für den KV-Cache sowie das Betriebssystem. Ollama gibt den Q4-Tag mit 19 GB, Q8 mit 32 GB und den bfloat16-Tag mit 60 GB an. Es gibt keinen universellen Multiplikator, da der KV-Cache mit der von Ihnen festgelegten Kontextlänge wächst. Laden Sie das Modell, führen Sie ollama ps aus und lesen Sie den tatsächlichen Wert in der Spalte SIZE auf Ihrem System ab.

Wie messe ich die Tokens pro Sekunde auf meinem eigenen VPS?

Senden Sie eine Anfrage an http://localhost:11434/api/generate mit "stream": false und lesen Sie dann eval_count sowie eval_duration aus der Antwort aus. Die Tokens pro Sekunde berechnen sich als eval_count / eval_duration * 1e9, da eval_duration in Nanosekunden angegeben wird. Ignorieren Sie den ersten Durchlauf, da load_duration dabei das Laden der Gewichte von der Festplatte beinhaltet. Wiederholen Sie den Test auch mit einem langen Prompt, da prompt_eval_duration mit der Eingabelänge wächst, während die Generierungsgeschwindigkeit konstant bleibt.

Warum sollte ich OLLAMA_HOST nicht auf 0.0.0.0 setzen?

Da die API von Ollama keine Authentifizierung besitzt, stellt eine Bindung an 0.0.0.0 einen ungeschützten Endpunkt im öffentlichen Internet bereit. Jeder, der Port 11434 erreicht, kann auf Ihrer Hardware Modelle generieren und die installierten Modelle verändern. Behalten Sie die Standard-Bindung 127.0.0.1 bei, überprüfen Sie diese mit ss -ltnp | grep 11434 und greifen Sie von Ihrem Laptop aus über einen SSH-Tunnel wie ssh -N -L 11434:127.0.0.1:11434 you@your-server auf die API zu.