SSD Nodes Learn Hosting plans →
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-08-27

Eseguire GLM su un VPS con Ollama: quale modello

GLM 5.2 è solo cloud nella libreria Ollama: scopri quale modello GLM funziona davvero su un VPS e quanta RAM richiede ogni quantizzazione.

È possibile eseguire GLM 5.2 su un VPS?

No. È importante conoscere il motivo prima di noleggiare un server. Al 18 agosto 2026, GLM 5.2 nella libreria di Ollama ha esattamente un tag, glm-5.2:cloud. Un tag :cloud viene eseguito sui server di Ollama. Il server invia il prompt e riceve i token, quindi i pesi non vengono mai salvati sul disco. Il modello ha 756 miliardi di parametri. Con 4 bit per parametro, i pesi occupano circa 378 GB, considerando soltanto il calcolo di base e non il contesto, le attivazioni o il sistema operativo. Nessun piano VPS standard offre una quantità di memoria simile.

Il modello GLM che può essere eseguito su un server a noleggio è glm-4.7-flash. Viene pubblicato con pesi scaricabili in 4 tag. È un modello mixture-of-experts: per ogni token viene eseguita soltanto una piccola parte della rete. Z.ai lo descrive come 30B-A3B: 30 miliardi di parametri totali e circa 3 miliardi attivi per token. Questa guida risponde quindi alla domanda su cui puoi intervenire. Fissa un tag, dimensiona il server, misura la velocità nel tuo ambiente e mantieni privato l'endpoint.

Verifica il tag prima di copiare qualsiasi comando, inclusi quelli riportati qui. La libreria di Ollama può cambiare senza preavviso. Apri l'elenco dei tag di glm-4.7-flash e verifica che il tag esista ancora. Se è stata pubblicata una versione GLM più recente con pesi locali, preferiscila e annota il tag che hai effettivamente testato.

Se vuoi comunque usare GLM 5.2, ollama run glm-5.2:cloud funziona dopo ollama signin e, dal lato client, si comporta come qualsiasi altro modello Ollama. Devi però comprendere cosa comporta: il prompt lascia il tuo server. Se il motivo per cui utilizzi il self-hosting è che i dati devono rimanere sul tuo computer, un tag :cloud non soddisfa questo requisito.

Quali tag GLM esistono e quale fissare

Qui sono rilevanti tre voci GLM ufficiali. glm-5.2 e glm-5.1 sono disponibili solo nel cloud. glm-4.7-flash è quella locale; questi sono i tag pubblicati e le dimensioni del download indicate da Ollama per ciascuno.

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
  }
]

Sono valori pubblicati nella pagina della libreria, non misurazioni. latest e q4_K_M sono entrambi indicati con 19 GB, quindi latest attualmente punta alla build Q4. Questo può cambiare a ogni nuova pubblicazione, quindi non si deve mai inserire un ollama pull glm-4.7-flash non qualificato in uno script o in un Dockerfile. Specificare la quantizzazione. Il tag più grande, bf16, è un download da 60 GB che contiene i pesi bfloat16 non quantizzati.

Una ricerca nella libreria restituisce anche upload con namespace e una slash nel nome, ad esempio someuser/glm-5.2. La slash indica che l'upload è stato pubblicato da un account utente, quindi si tratta di un nuovo upload della community e non della voce ufficiale. Nessuno garantisce quali pesi contenga. Va trattato come un binario non firmato trovato online.

Installare Ollama e scaricare il tag esatto

L'installer Linux di Ollama richiede un solo comando.

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

L'installer crea un servizio systemd eseguito dall'utente ollama. Verificare che sia stato avviato prima di scaricare qualsiasi modello.

systemctl status ollama --no-pager

Active: active (running) indica che l'API è in ascolto sulla porta 11434. Se l'unità non esiste, l'installer ha eseguito un'installazione del solo binario senza servizio systemd. La documentazione di Ollama per Linux fornisce il file di servizio da creare manualmente.

La pagina glm-4.7-flash indica una versione minima di Ollama. Un binario meno recente non esegue il modello più lentamente: lo rifiuta. Il download non riesce e viene visualizzato un messaggio che indica che il modello richiede una versione più recente di Ollama. Eseguire di nuovo lo script di installazione per aggiornare Ollama. Al 18 agosto 2026, la release corrente è 0.32.14, quindi supera ampiamente il requisito minimo.

Ora scaricare un singolo tag specificandone il nome.

ollama pull glm-4.7-flash:q4_K_M
ollama ls

ollama ls dovrebbe elencare glm-4.7-flash:q4_K_M con una dimensione vicina ai 19 GB pubblicati. Se il download si interrompe, non rimane nulla che possa essere eseguito, quindi eseguire di nuovo lo stesso comando. Nei piani con poco spazio, la causa più comune di un download non riuscito è il disco pieno, non un problema di rete, perché il modello viene scritto in /usr/share/ollama/.ollama/models sul filesystem root. Prima di iniziare, verificare con df -h /usr/share/ollama.

Quanta RAM richiede ogni quantizzazione?

Considera la dimensione del download come valore minimo, quindi aggiungi il resto. I pesi devono rimanere residenti in memoria. A questi si aggiunge la cache KV (cache key/value), cioè la memoria che il runtime usa per ricordare i token già presenti nella conversazione, oltre ai buffer di calcolo e alla memoria utilizzata dal sistema operativo. Un server con esattamente 19 GB di RAM non eseguirà il tag da 19 GB.

Non esiste un moltiplicatore unico valido per tutti, perché la cache KV cresce con la lunghezza del contesto consentita e il resto varia tra le versioni del runtime. Misura quindi l'utilizzo invece di fare una stima. Carica il modello con un prompt banale, quindi leggi la quantità di memoria riservata dal server.

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

ollama ps stampa il modello caricato con una colonna SIZE e una colonna PROCESSOR. SIZE indica la memoria effettivamente riservata dal runtime, cioè il valore da confrontare con il tuo piano. PROCESSOR indica dove viene eseguito il lavoro, quindi 100% CPU significa che non è stata utilizzata alcuna GPU.

Quando il modello non entra in memoria, il problema si manifesta senza messaggi chiari e in due modi. Con lo swap abilitato, il caricamento sembra riuscire, ma la generazione diventa estremamente lenta perché le pagine vengono spostate tra disco e RAM per ogni token. Senza swap, il processo viene terminato direttamente e journalctl -k | grep -i "out of memory" mostra la riga Out of memory: Killed process del kernel, che identifica ollama. Controlla entrambi, perché nessuno dei due stampa un messaggio utile nel terminale in cui stavi digitando.

Il passaggio dal tag Q4 da 19 GB al tag Q8 da 32 GB è il principale fattore su cui puoi intervenire per modificare questo valore. Q4 riduce in parte la qualità delle risposte e l'entità della riduzione dipende dall'attività: l'output strutturato e le lunghe catene di ragionamento ne risentono più della conversazione informale. Vale la pena leggere Differenze pratiche tra Q4, Q8 e FP16 prima di scegliere, perché su un VPS che usa soltanto la CPU la quantizzazione determina spesso se il modello verrà eseguito oppure no.

Cosa succede su un VPS con sola CPU

La maggior parte dei piani VPS non include una GPU e Ollama esegue il modello sulla CPU senza avvisare l'utente. La possibilità di ottenere risultati utilizzabili dipende dal carico di lavoro e dalla pazienza disponibile.

L'architettura mixture-of-experts migliora la velocità. Per ogni token vengono utilizzati soltanto circa 3 miliardi dei 30 miliardi di parametri, quindi il calcolo richiesto per token è molto inferiore a quello di un modello denso da 30B. Il consumo di memoria, invece, non diminuisce. Ogni expert deve rimanere residente, perché il router può selezionarne uno qualsiasi per il token successivo. Un sistema con sola CPU richiede quindi ancora tutti i 19 GB o più previsti dal tag Q4 e la velocità di elaborazione dipende soprattutto dalla larghezza di banda della memoria, non dalla frequenza di clock.

Questo ha una conseguenza pratica: due piani con lo stesso numero di core e la stessa quantità di RAM possono generare testo a velocità sensibilmente diverse, perché i sottosistemi di memoria non sono uguali. Un piano condiviso aggiunge una seconda variabile: il tempo CPU sottratto da un vicino rumoroso si riflette in un valore di token al secondo che cambia di ora in ora. Per questo il numero pubblicato da altri non permette di prevedere il proprio risultato e la sezione successiva propone una procedura di misurazione anziché una tabella di risultati.

Misura i tuoi token al secondo

L’endpoint generate di Ollama restituisce i dati temporali nell’oggetto JSON finale. Dividi il numero di token generati per la durata della generazione e ottieni il valore relativo al tuo piano e al tuo prompt.

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 indica il numero di token generati e eval_duration il numero di nanosecondi impiegati per generarli; eval_count / eval_duration * 1e9 indica quindi i token al secondo. prompt_eval_duration riguarda la lettura del prompt, cioè l’attesa che si verifica prima della visualizzazione del primo token. load_duration indica il tempo impiegato per caricare il modello dal disco. Per questo motivo è elevato alla prima chiamata dopo un riavvio e quasi nullo alla chiamata successiva.

Esegui la misurazione 3 volte e conserva il secondo e il terzo risultato, perché il primo include il caricamento del modello. Eseguila poi di nuovo con un prompt molto più lungo, perché il tempo di elaborazione del prompt aumenta con la lunghezza dell’input, mentre la velocità di generazione non cambia. Scrivi i valori accanto al nome del piano e alla quantizzazione utilizzata. Questa registrazione è più utile di qualsiasi benchmark consultato, perché è stata misurata sull’hardware per cui stai pagando.

Come la lunghezza del contesto moltiplica l'uso di memoria

Ollama usa per impostazione predefinita un contesto di 4096 token. Il modello dichiara un valore molto più alto, 198K token per glm-4.7-flash, ma questo valore non viene applicato per impostazione predefinita e abilitarlo non è gratuito in termini di memoria.

La cache KV contiene un vettore key e un vettore value per ogni token, in ogni livello. Le sue dimensioni aumentano linearmente con il numero di token consentiti. Passare da 4096 a 32768 token significa moltiplicare per otto la lunghezza del contesto e, quindi, all'incirca anche la cache KV. Su un server dimensionato per contenere appena i pesi del modello, questa allocazione aggiuntiva è sufficiente a causare l'uso della swap. Per questo una macchina che gestiva senza problemi prompt brevi può diventare improvvisamente molto lenta quando qualcuno incolla un documento lungo.

Impostalo per ogni richiesta con num_ctx nell'oggetto delle opzioni, come nel comando curl precedente, oppure modifica il valore predefinito del server.

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

L'ultimo comando dovrebbe stampare il valore OLLAMA_CONTEXT_LENGTH. Se stampa un Environment= vuoto, il file di override si trova nella directory errata oppure il reload è stato saltato. Dopo il caricamento successivo del modello, ollama ps dovrebbe mostrare un valore SIZE chiaramente maggiore rispetto a quello osservato con 4096. Aumenta il valore gradualmente e controlla quel numero ogni volta. Impostare la lunghezza del contesto di Ollama con num_ctx descrive l'interazione di questo parametro con keep-alive e con le richieste parallele, che moltiplicano entrambi lo stesso costo. Se il server verrà usato da più client, imposta i limiti di concorrenza insieme al contesto, perché ogni slot parallelo ha una propria cache KV e l'impostazione della coda determina se una seconda richiesta deve attendere oppure viene rifiutata direttamente.

Quando l’API costa meno del server

L’hosting autonomo non è automaticamente più economico e, per questa famiglia di modelli, i prezzi di listino pubblicati lo dimostrano con particolare chiarezza.

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
  }
]

Al 18 agosto 2026, Z.ai indica GLM-5.2 a $1.4 per milione di token di input e a $4.4 per milione di token di output. Indica GLM-4.7-Flash, il modello eseguito localmente in questa guida, a $0 in entrambe le direzioni. Questi sono prezzi pubblicati e possono cambiare, quindi verifica la pagina corrente prima di pianificare un budget basato su uno dei due.

Quindi, al momento, l’argomento economico a favore dell’hosting autonomo glm-4.7-flash è debole. Un VPS con RAM sufficiente ha un costo mensile reale, mentre il fornitore mette a disposizione lo stesso modello gratuitamente. Eseguire il modello autonomamente offre invece altri vantaggi: i prompt restano su una macchina sotto il tuo controllo e la versione del modello non cambia finché non la cambi tu. Sono motivi validi per scegliere l’hosting autonomo. Per questo modello e a questi prezzi, il costo non è uno di questi motivi.

Il calcolo cambia quando il modello che vuoi usare non è gratuito oppure quando i tuoi dati, per motivi legali, non possono uscire dalla tua rete. Il punto di pareggio tra un VPS con GPU e i token API illustra il calcolo indicando ogni variabile. Se devi ancora scegliere la macchina, quanto costa davvero un VPS al mese rappresenta l’altra metà della somma.

Mantieni l'endpoint su localhost

Questo è il passaggio che molti saltano, ma è il più importante.

Per impostazione predefinita, Ollama si associa a 127.0.0.1 sulla porta 11434, quindi è raggiungibile soltanto dal server stesso. Verificalo sul tuo server invece di darlo per scontato.

ss -ltnp | grep 11434

Devi vedere 127.0.0.1:11434. Se vedi 0.0.0.0:11434 o *:11434, significa che l'API è in ascolto su tutte le interfacce, inclusa quella pubblica.

Questo è importante perché l'API di Ollama non prevede autenticazione. Non ci sono password, token o allowlist. Chiunque possa raggiungere la porta 11434 può elencare i tuoi modelli, eseguire generazioni sull'hardware che stai pagando, scaricare nuovi modelli sul disco fino a esaurire lo spazio e cancellare quelli già presenti. La porta 11434 è fissa e ben nota, quindi gli scanner individuano rapidamente quelle esposte.

Non impostare OLLAMA_HOST=0.0.0.0. Molte guide lo suggeriscono come soluzione quando un client sul laptop non riesce a connettersi, ma è la soluzione sbagliata. Inoltra invece la porta.

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

Questa configurazione inoltra la porta 11434 del laptop all'indirizzo di loopback del server tramite SSH. In questo modo qualsiasi client configurato per http://localhost:11434 continua a funzionare senza modifiche e non viene esposto nulla di nuovo. Per più utenti o più macchine, inserisci il server in una rete privata tramite tunnel e associa Ollama all'indirizzo del tunnel, mai a 0.0.0.0.

Verifica il risultato da un dispositivo diverso dal server. Dal laptop, con il tunnel SSH chiuso:

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

curl: (28) Connection timed out o curl: (7) Failed to connect è il risultato corretto. Un elenco JSON dei tuoi modelli significa che la porta è aperta a Internet e deve essere messa in sicurezza subito. Il firewall di rete del provider è un controllo distinto da quello in esecuzione sul server, quindi verifica entrambi. La questione più ampia della sicurezza dell'hosting VPS tratta gli altri requisiti di base per una macchina che lasci in esecuzione.

Se glm-4.7-flash è ancora troppo grande

Quando il tag Q4 non rientra nel piano scelto, la soluzione è usare un modello più piccolo, non ridurre il contesto. Ridurre il contesto per riuscire a caricare il modello produce un modello che si avvia, ma non gestisce il primo prompt lungo. Qwen 3 a 8B e 27B su un VPS segue lo stesso percorso di installazione con dimensioni adatte a macchine con risorse limitate, mentre la guida generale per eseguire autonomamente un LLM con Ollama su un VPS descrive gli aspetti che restano invariati indipendentemente dal modello scelto. Qualunque sia la scelta finale, fissa il tag, esegui le misurazioni sul piano che utilizzi e lascia l'endpoint in ascolto solo sull'interfaccia di loopback.

FAQ

GLM 5.2 può essere eseguito localmente su un VPS?

No. Al 18 agosto 2026, GLM 5.2 esiste nella libreria di Ollama soltanto come glm-5.2:cloud, un tag che viene eseguito sull'infrastruttura di Ollama e richiede ollama signin prima di poter funzionare. Il modello ha 756 miliardi di parametri, quindi anche usando quattro bit per parametro, i soli pesi occupano centinaia di gigabyte, ben oltre la capacità offerta da qualsiasi piano VPS standard. Il modello GLM con pesi scaricabili adatto a un server a noleggio è glm-4.7-flash.

Quanta RAM richiede glm-4.7-flash?

Considera la dimensione del download del tag come valore minimo e aggiungi spazio per la cache KV e per il sistema operativo. Ollama indica il tag Q4 a 19 GB, Q8 a 32 GB e il tag bfloat16 a 60 GB. Non esiste un moltiplicatore fisso adatto a tutti, perché la cache KV cresce con la lunghezza del contesto impostata. Carica il modello, esegui ollama ps e leggi la colonna SIZE per conoscere il valore reale sul tuo server.

Come posso misurare i token al secondo sul mio VPS?

Invia una richiesta a http://localhost:11434/api/generate con "stream": false, quindi leggi eval_count e eval_duration dalla risposta. I token al secondo corrispondono a eval_count / eval_duration * 1e9, perché eval_duration è espresso in nanosecondi. Ignora la prima esecuzione, perché in quel caso load_duration include anche la lettura dei pesi dal disco. Ripeti il test anche con un prompt lungo, perché prompt_eval_duration cresce con la lunghezza dell'input mentre la velocità di generazione non cambia.

Perché non devo impostare OLLAMA_HOST su 0.0.0.0?

Perché l'API di Ollama non dispone di autenticazione; associarla a 0.0.0.0 espone quindi un endpoint non autenticato su Internet. Chiunque raggiunga la porta 11434 può generare contenuti usando il tuo hardware e modificare i modelli installati. Mantieni l'associazione predefinita a 127.0.0.1, verificala con ss -ltnp | grep 11434 e raggiungi l'API dal tuo laptop tramite un tunnel SSH come ssh -N -L 11434:127.0.0.1:11434 you@your-server.