Per far girare un modello linguistico sul proprio computer conta soprattutto la memoria. Servono la VRAM della scheda video e la RAM del sistema, e bisogna sapere quanto pesa il modello scelto. Questa guida è per chi vuole capire se il proprio hardware basta e metterlo alla prova su Linux con Ollama. Alla fine avrai un modello in esecuzione e saprai leggere se lavora sulla GPU, sulla CPU o su entrambe. Conoscerai anche le impostazioni che cambiano la memoria occupata. I comandi sono quelli della documentazione ufficiale, elencata in fondo.
Cosa serve
- Una distribuzione Linux con systemd attivo e un utente che può usare
sudo. La procedura segue la pagina Linux di Ollama, dove Ollama gira come servizio di sistema gestito consystemctl. Senza systemd quei comandi non funzionano. Su macOS e Windows Ollama è un’applicazione e i passaggi sono diversi. - I programmi
curlezstd. Il primo scarica lo script di installazione. Il secondo serve a estrarre i pacchetti di Ollama, che sono archivi.tar.zst. Se mancano, installali con il gestore pacchetti della tua distribuzione, per esempio con apt su Debian e Ubuntu. - Una connessione a internet per scaricare Ollama e i modelli.
- Una GPU supportata (NVIDIA, AMD o una scheda gestita tramite Vulkan) con i suoi driver. È facoltativa: senza GPU il modello viene caricato interamente nella memoria di sistema.
- Spazio su disco per i modelli. Con l’installazione standard finiscono in
/usr/share/ollama/.ollama/models. La variabileOLLAMA_MODELSpermette di indicare un’altra cartella, ma l’utenteollamadeve poterci leggere e scrivere, come spiega la FAQ di Ollama.
Capire quanta RAM, VRAM e CPU servono
Le pagine di Ollama consultate non indicano una soglia minima di memoria. Un riferimento concreto arriva dai requisiti di sistema di LM Studio, un altro programma per usare i modelli in locale. Quei valori riguardano LM Studio e non Ollama, ma danno un’idea dell’hardware da cui partire.
- RAM: sono consigliati almeno 16 GB, perché i modelli linguistici ne consumano molta. Sui Mac con 8 GB si può ancora lavorare, ma con modelli piccoli e contesti contenuti.
- VRAM: su Windows sono consigliati almeno 4 GB di memoria video dedicata.
- CPU: sui sistemi x64 serve il supporto alle istruzioni AVX2.
- Mac: servono un chip Apple Silicon (da M1 a M4) e macOS 14.0 o successivo. I Mac con processore Intel non sono supportati.
Il disco conserva i file dei modelli. Quando il calcolo avviene sulla GPU, il modello sta nella VRAM. Se lì non entra tutto, Ollama può dividerlo tra GPU e memoria di sistema, oppure caricarlo interamente nella RAM. Più avanti vedrai come capire quale dei tre casi hai davanti.
Verificare che la GPU sia supportata e che il driver funzioni
Prima di installare, cerca la tua scheda nella pagina Hardware support di Ollama, che elenca modelli e requisiti per ogni produttore.
NVIDIA
Ollama supporta le GPU NVIDIA con compute capability 5.0 o superiore e driver dalla versione 550 in poi. Le schede con compute capability da 5.0 a 6.2 richiedono il driver 570 o più recente. Qualche esempio dalla tabella ufficiale:
| Compute capability | Esempi di schede GeForce |
|---|---|
| 12.0 | RTX 5060, RTX 5070, RTX 5080, RTX 5090 |
| 8.9 | RTX 4060, RTX 4070, RTX 4080, RTX 4090 |
| 8.6 | RTX 3050, RTX 3060, RTX 3070, RTX 3080, RTX 3090 |
| 7.5 | GTX 1650 Ti, RTX 2060, RTX 2070, RTX 2080 |
| 6.1 | GTX 1050, GTX 1060, GTX 1070, GTX 1080 |
| 5.0 | GTX 750, GTX 750 Ti |
Poi controlla che il driver sia installato. Questo comando deve stampare i dettagli della tua GPU:
nvidia-smi
Se il comando non esiste o non mostra la scheda, installa prima i driver CUDA, come indica la pagina Linux di Ollama.
AMD
Su Linux Ollama richiede il driver AMD ROCm v7. Tra le schede supportate ci sono le Radeon RX 9070 XT, 9060 XT, 7900 XTX, 7800 XT, 7600 e 6800 XT, le Radeon PRO della serie W7000 e i processori Ryzen AI, come Ryzen AI Max+ 395 e Ryzen AI 9 HX 370. Il driver amdgpu incluso nel kernel Linux è più vecchio e potrebbe non gestire tutte le funzioni di ROCm, per questo Ollama consiglia il driver più recente dal sito di AMD.
Apple, Intel e le altre GPU
Sui Mac Ollama usa la GPU tramite l’API Metal. Su Windows e Linux Vulkan aggiunge il supporto ad altre schede, comprese le GPU Intel e altre AMD. Vulkan è attivo in modo predefinito quando il backend è installato, ma sulla maggior parte delle distribuzioni Linux richiede componenti aggiuntivi.
Installare Ollama su Linux
Con curl e zstd già presenti, lo script ufficiale scarica e installa Ollama. Su un sistema con systemd lo configura anche come servizio. Per aggiornare Ollama in seguito basta rilanciare lo stesso comando.
curl -fsSL https://ollama.com/install.sh | sh
Avviare il servizio e verificare che sia attivo
Il servizio si gestisce con systemd. Avvialo:
sudo systemctl start ollama
Poi controlla lo stato: il servizio deve risultare attivo, senza errori.
sudo systemctl status ollama
Infine verifica che il programma risponda. Il comando stampa la versione installata:
ollama -v
Scegliere taglia e quantizzazione, poi scaricare il modello
La memoria occupata da un modello dipende dalla taglia, cioè dal numero di parametri (1b vuol dire un miliardo, 3b tre miliardi). Dipende anche dalla quantizzazione, cioè da quanti bit si usano per ogni parametro: si va da q2_K, il formato più compresso, a fp16, a 16 bit. Più bit vogliono dire più fedeltà al modello originale, ma anche più gigabyte. Questi sono i pesi riportati nella libreria di Ollama per llama3.2:
| Quantizzazione | llama3.2 1b | llama3.2 3b |
|---|---|---|
| q2_K | 581MB | 1.4GB |
| q4_0 | 771MB | 1.9GB |
| q4_K_M | 808MB | 2.0GB |
| q8_0 | 1.3GB | 3.4GB |
| fp16 | 2.5GB | 6.4GB |
Il tag predefinito llama3.2:latest corrisponde alla versione 3b in q4_K_M, da 2.0GB. Oltre al modello, in memoria finisce anche la cache del contesto: tieni un margine rispetto alla VRAM o alla RAM disponibile.
Il comando che segue scarica gemma4 con il suo tag predefinito. È il modello usato come esempio nella CLI Reference di Ollama, e qui serve solo per questo. Il suo peso non compare nelle pagine consultate: prima di scaricarlo apri la sua pagina nella libreria di Ollama e confrontalo con la memoria che hai. Se è troppo grande, scegli un modello o un tag più leggero.
ollama pull gemma4
Avviare il modello in una chat interattiva
Questo comando carica il modello in memoria e apre una chat nel terminale. Scrivi una domanda e premi Invio. Per uscire dalla chat si scrive /bye.
ollama run gemma4
Controllare se il modello gira su GPU, CPU o su entrambe
Un modello resta in memoria per 5 minuti dall’ultimo utilizzo, poi viene scaricato, anche se la chat è ancora aperta. Apri quindi un secondo terminale e lancia questo comando entro cinque minuti dall’ultima risposta:
ollama ps
Se il modello non compare, invia un’altra domanda nella chat e ripeti il controllo. La FAQ di Ollama riporta questo esempio di output:
NAME ID SIZE PROCESSOR UNTIL
llama3:70b bcfb190ca3a7 42 GB 100% GPU 4 minutes from now
SIZE riporta la memoria occupata dal modello caricato. La colonna PROCESSOR dice dove è stato caricato:
- 100% GPU: il modello è interamente nella GPU.
- 100% CPU: il modello è interamente nella memoria di sistema.
- 48%/52% CPU/GPU: il modello è diviso tra memoria di sistema e GPU.
Con più GPU, Ollama carica il modello su una sola scheda se ci sta tutto, perché così passano meno dati sul bus PCI. Altrimenti lo distribuisce su tutte le GPU disponibili.
Ridurre la memoria occupata
Se il modello finisce in parte o del tutto sulla CPU, puoi scegliere una quantizzazione più leggera oppure ridurre la memoria che serve al contesto. Un contesto più ampio permette conversazioni più lunghe ma costa più memoria.
La FAQ indica un contesto predefinito di 4096 token, ma la pagina della documentazione di Ollama dedicata alla lunghezza del contesto precisa che il valore dipende dalla VRAM: 4K sotto i 24 GiB, 32K da 24 a meno di 48 GiB, 256K da 48 GiB in su, sempre entro i limiti del modello. Il contesto effettivamente allocato compare nella colonna CONTEXT di ollama ps, che l’esempio della FAQ non riporta.
Il valore predefinito si cambia con la variabile OLLAMA_CONTEXT_LENGTH. Se avvii il server a mano, l’esempio della FAQ lo lancia con un contesto di 8K:
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
Impostare le variabili nel servizio systemd
Con Ollama installato come servizio, le variabili vanno messe nel servizio stesso. Si apre la configurazione con sudo systemctl edit ollama, come indica la pagina Linux, e sotto la sezione [Service] si aggiunge una riga Environment per ogni variabile, per esempio Environment="OLLAMA_KV_CACHE_TYPE=q8_0". Dopo aver salvato si ricarica systemd e si riavvia Ollama, con i privilegi di amministratore.
Queste sono le variabili che contano per la memoria:
OLLAMA_CONTEXT_LENGTHfissa il contesto predefinito.OLLAMA_KV_CACHE_TYPEquantizza la cache del contesto, se Flash Attention è attivo. Ollama lo attiva da solo quando backend e dispositivo lo supportano. Il valore predefinito èf16. Conq8_0la cache occupa circa metà della memoria, con una perdita di precisione molto piccola. Conq4_0ne occupa circa un quarto, ma la perdita può notarsi di più con contesti ampi. L’impostazione vale per tutti i modelli.OLLAMA_MAX_LOADED_MODELSfissa quanti modelli possono restare caricati insieme: in modo predefinito 3 per ogni GPU, oppure 3 con la sola CPU.OLLAMA_NUM_PARALLELfissa quante richieste un modello elabora in parallelo, 1 in modo predefinito. La RAM necessaria cresce con il prodotto traOLLAMA_NUM_PARALLELeOLLAMA_CONTEXT_LENGTH.
Dentro una chat aperta con ollama run puoi anche cambiare il contesto solo per quella sessione, scrivendo /set parameter num_ctx seguito dal valore che ti serve.
Liberare VRAM e disco
Per togliere subito il modello dalla memoria, senza aspettare i 5 minuti:
ollama stop gemma4
Per vedere quali modelli sono salvati sul disco:
ollama ls
Il comando che segue cancella i file del modello dal disco. Controlla nell’elenco precedente che il nome sia quello giusto: se ti servirà di nuovo, dovrai riscaricarlo.
ollama rm gemma4
Se qualcosa va storto
Per prima cosa leggi i log del servizio:
journalctl -e -u ollama
- Dopo la sospensione il modello gira sulla CPU: su Linux, dopo una sospensione e un ripristino, a volte Ollama non trova più la GPU NVIDIA e ripiega sulla CPU. È un bug del driver, che si aggira ricaricando il modulo
nvidia_uvm, come spiega la pagina Hardware support. - GPU AMD con Vulkan non vista: su alcune distribuzioni bisogna aggiungere l’utente
ollamaal grupporender. - Stime di memoria imprecise con Vulkan: senza permessi di root o senza la capability dedicata, Ollama non riceve i dati sulla VRAM libera e usa dimensioni approssimative dei modelli.
- Errore 503: il server ha ricevuto troppe richieste. La coda si regola con
OLLAMA_MAX_QUEUE, che in modo predefinito vale 512.
Disinstallare Ollama
Attenzione: i comandi che seguono eliminano il servizio, il programma, l’utente di sistema ollama e tutti i modelli scaricati. L’ultimo cancella /usr/share/ollama, cioè la cartella dei modelli: prima lancia ollama ls per vedere cosa stai per perdere. Copia i comandi esattamente come sono scritti, perché un percorso sbagliato dopo sudo rm può cancellare altri file.
Ferma il servizio, disattivalo ed elimina il suo file:
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
Le librerie di Ollama si rimuovono a parte. Stanno in /usr/local/lib, /usr/lib oppure /lib, e il comando esatto è nella pagina Linux della documentazione. Va eseguito prima di cancellare il programma, perché ricava il percorso proprio da which ollama. Poi elimina il programma:
sudo rm $(which ollama)
Infine elimina l’utente, il gruppo e i modelli scaricati:
sudo userdel ollama
sudo groupdel ollama
sudo rm -r /usr/share/ollama
Documentazione di riferimento
Pagine consultate il 30 settembre 2026:
- Documentazione di Ollama — Linux
- Documentazione di Ollama — FAQ
- Documentazione di Ollama — Hardware support (GPU)
- Documentazione di Ollama — CLI Reference
- LM Studio Docs — System Requirements
- Ollama Library — llama3.2 (tag e dimensioni)