- Esegui
ollama psmentre un modello è caricato — la colonna PROCESSOR indica se Ollama sta utilizzando la GPU o la CPU. - La correzione più comune su NVIDIA consiste nell’installare o aggiornare il driver host in modo che
nvidia-smiriconosca la scheda, quindi riavviare il servizio Ollama. - Se il modello è più grande della tua VRAM, Ollama sposta alcuni strati sulla CPU — usa il Calcolatore VRAM per verificare se il modello è compatibile prima di scaricarlo.
- AMD, Docker e WSL2 richiedono procedure specifiche per piattaforma, descritte di seguito.
Quando Ollama non utilizza la tua GPU, la causa più frequente è un driver mancante o non compatibile. Esegui ollama ps — se la colonna PROCESSOR mostra il 100% CPU, Ollama ha effettuato un fallback completo sulla CPU. La soluzione dipende dalla tua piattaforma: NVIDIA richiede il runtime CUDA corretto, AMD richiede ROCm e Docker necessita di flag espliciti per il passaggio della GPU.
- Passo 1: Verifica se Ollama sta effettivamente utilizzando la GPU
- Passo 2: NVIDIA — Driver e runtime CUDA
- Passo 3: Modello troppo grande per la VRAM
- Passo 4: GPU AMD e ROCm
- Passo 5: Docker — manca il passaggio della GPU
- Passo 6: WSL2 su Windows
- macOS — Metal (Apple Silicon e AMD)
- Verifica della correzione e prestazioni attese
- Domande frequenti
Passo 1: Verifica se Ollama sta effettivamente utilizzando la GPU
Prima di apportare modifiche, verifica cosa sta effettivamente facendo Ollama. Carica un modello e, mentre è in esecuzione, apri un secondo terminale:
ollama psEsempio di output:
NAME ID SIZE PROCESSOR UNTIL
llama3.2:8b abc123def456 5.0 GB 100% GPU tra 4 minutiLa colonna PROCESSOR è l’indicatore definitivo:
| Valore PROCESSOR | Significato |
|---|---|
| 100% GPU | Tutti gli strati sulla GPU — comportamento previsto e corretto |
| XX% GPU / YY% CPU | Il modello si inserisce parzialmente nella VRAM; gli strati rimanenti vengono eseguiti sulla CPU |
| 100% CPU | Fallback completo sulla CPU — la GPU non viene utilizzata affatto |
Su sistemi NVIDIA, esegui un controllo incrociato con nvidia-smi mentre l’inferenza è in esecuzione. La colonna Memory-Usage dovrebbe aumentare durante il caricamento del modello. Se rimane costante, la GPU è inattiva, indipendentemente da quanto indicato da altri strumenti.
Passo 2: NVIDIA — Driver e runtime CUDA
Un driver NVIDIA mancante o obsoleto è la causa più comune di un fallback completo sulla CPU. Ollama include le proprie librerie CUDA, ma richiede comunque un driver host compatibile con CUDA 11.3 o versione successiva.
Verifica innanzitutto il driver
nvidia-smiSe il comando non viene trovato, nessun driver è installato. Se viene eseguito, annota la versione del driver e quella di CUDA nell’intestazione. La versione di CUDA indicata rappresenta la versione massima supportata dal driver — non significa che sia installato un toolkit CUDA separato, e Ollama non ne ha bisogno.
| Piattaforma | Versione minima del driver |
|---|---|
| Linux | 525.xx (supporta CUDA 12.0) |
| Windows nativo | 527.xx (supporta CUDA 12.0) |
| WSL2 (host Windows) | 525.xx sul lato Windows — non installare il driver NVIDIA Linux all’interno di WSL2 |
Installa o aggiorna il driver
Ubuntu / Debian:
sudo apt install nvidia-driver-550
sudo rebootWindows: Scaricalo da nvidia.com/Download oppure utilizza GeForce Experience, quindi riavvia. È necessario un riavvio completo — non solo un riavvio del servizio — dopo l’installazione o l’aggiornamento del driver.
Dopo il riavvio, verifica che nvidia-smi mostri la tua scheda, quindi riavvia Ollama:
# Linux (systemd)
sudo systemctl restart ollama
# macOS
launchctl kickstart -k gui/$(id -u)/com.ollama.ollama
# Windows — riavvia l’applicazione Ollama nella barra delle applicazioni oppure riavvia il sistemaEsegui un modello e controlla nuovamente ollama ps . Se la colonna PROCESSOR mostra ancora il 100% CPU, procedi con i passi successivi.
Passo 3: Modello troppo grande per la VRAM
Quando i pesi di un modello superano la VRAM disponibile, Ollama non rifiuta l’esecuzione — suddivide invece l’inferenza. Il maggior numero possibile di strati transformer viene assegnato alla GPU; il resto viene eseguito sulla CPU. Questo si manifesta come una percentuale suddivisa in ollama ps ed è un comportamento intenzionale, non un bug.
Un modello da 70 miliardi di parametri quantizzato in Q4_K_M richiede tipicamente circa 40 GB di VRAM, una quantità superiore a qualsiasi GPU consumer monoblocco. Prima di scaricare un modello di grandi dimensioni, verifica la compatibilità con il Calcolatore VRAM. Per dati dettagliati sui modelli LLM più diffusi, consulta Requisiti di VRAM per ogni principale modello linguistico di grandi dimensioni (LLM).
Se il modello non entra nella tua VRAM, hai le seguenti opzioni:
- Utilizza una quantizzazione inferiore (ad esempio Q2_K o Q3_K_S) — riduce il consumo di VRAM con un lieve impatto sulla qualità.
- Passa a una variante più piccola del modello (ad esempio 8B invece di 70B). La pagina I migliori modelli locali per Ollama indica quali modelli funzionano bene sull’hardware consumer.
- Accetta lo scarico parziale — le prestazioni saranno intermedie tra quelle della GPU completa e quelle della CPU completa.
- Aggiorna la tua GPU. La guida le migliori GPU per LLM locali confronta le opzioni attuali in base a VRAM e prezzo.
Passo 4: GPU AMD e ROCm
Il supporto AMD in Ollama si basa su ROCm, la piattaforma di calcolo GPU di AMD. Ollama supporta ufficialmente le schede RDNA 2 (serie RX 6000) e RDNA 3 (serie RX 7000) su Linux. Il supporto AMD su Windows è limitato: controlla le note di rilascio della versione di Ollama installata prima di presumere che funzioni su Windows.
Verifica che ROCm rilevi la scheda
rocm-smiSe rocm-smi non viene trovato, lo stack ROCm non è installato. Consulta amd.com/it/developer/rocm per le istruzioni di installazione aggiornate relative alla tua distribuzione, poiché i nomi dei pacchetti e i requisiti di versione cambiano tra le diverse release di ROCm.
Se la scheda non compare nell'output di rocm-smi dopo l'installazione:
sudo usermod -aG render,video $USER
# Effettua il logout e il login nuovamente affinché la modifica ai gruppi entri in vigorePer selezionare una GPU specifica quando sono presenti più unità:
HIP_VISIBLE_DEVICES=0 ollama servePasso 5: Docker — manca il passaggio della GPU
I container Docker non hanno accesso alla GPU a meno che tu non la passi esplicitamente al container. Questo è il motivo più comune per cui Ollama ricade sull'uso della CPU nelle distribuzioni containerizzate: la GPU dell'host funziona correttamente, ma il container non riesce a vederla.
NVIDIA in Docker
Installa il NVIDIA Container Toolkit sull'host:
sudo apt install nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerQuindi passa la GPU all'avvio del container:
docker run -d --gpus all
-v ollama:/root/.ollama
-p 11434:11434
ollama/ollamaSenza l'opzione --gpus all (o --gpus device=0 (per specificare una scheda precisa), il container non avrà alcun accesso alla GPU, indipendentemente dalla configurazione dell'host.
AMD in Docker
docker run -d
--device /dev/kfd --device /dev/dri
-v ollama:/root/.ollama
-p 11434:11434
ollama/ollama:rocmIl :rocm è un tag dell'immagine obbligatorio. L'immagine predefinita ollama/ollama non include ROCm e ricadrà sull'uso della CPU su hardware AMD.
Passo 6: WSL2 su Windows
WSL2 può condividere la GPU NVIDIA con l'host Windows, ma vale una regola assoluta: il driver NVIDIA deve essere installato su WindowsWindows
- Installa o aggiorna il driver NVIDIA su Windows, quindi riavvia Windows.
- WSL2 richiede il kernel 5.10.43 o successivo. Verificalo eseguendo
uname -rall'interno di WSL2; aggiornalo conwsl --updateda un terminale Windows. - Il toolkit CUDA può essere installato all'interno di WSL2 se il tuo flusso di lavoro lo richiede: ciò è indipendente dal driver e non causa conflitti.
Verifica la visibilità della GPU da dentro WSL2:
nvidia-smiSe questo comando mostra la tua scheda, Ollama in esecuzione all'interno di WSL2 la utilizzerà automaticamente. In caso di errore, aggiorna il driver lato Windows ed esegui nuovamente il comando. wsl --update.
macOS — Metal (Apple Silicon e AMD)
Su macOS, Ollama utilizza Apple Metal per l'accelerazione GPU — non è necessario installare driver né impostare variabili d'ambiente. Se utilizzi un Mac con chip Apple Silicon e Ollama risulta lento, verifica di aver installato la build nativa ARM dal sito ollama.com, anziché la versione x86 eseguita tramite Rosetta. I Mac con chip Apple Silicon usano memoria unificata, quindi tutta la RAM del sistema è disponibile ai modelli: inserisci la quantità totale di RAM come limite di VRAM quando usi la Calcolatore VRAM.
Verifica della correzione e prestazioni attese
Dopo aver apportato le modifiche, esegui un modello e controlla contemporaneamente due indicatori:
# Terminale 1 — avvia una generazione
ollama run llama3.2:8b "Qual è la capitale della Francia?"
# Terminale 2 — mentre sta generando
ollama ps
# NVIDIA: osserva anche l'utilizzo della GPU al secondo
nvidia-smi dmon -s uThroughput di riferimento (approssimativo — varia in base alla quantizzazione, alla versione del driver e alla larghezza di banda PCIe):
| Hardware | Modello | ~tok/s |
|---|---|---|
| RTX 4090 (24 GB) | Llama 3.1 8B Q4 | 120–160 |
| RTX 3080 (10 GB) | Llama 3.1 8B Q4 | 60–80 |
| Apple M3 Pro (memoria unificata) | Llama 3.1 8B Q4 | 40–60 |
| Solo CPU (Ryzen 9 7950X) | Llama 3.1 8B Q4 | 5–15 |
Un throughput inferiore a dieci token al secondo, pur avendo a disposizione una GPU performante, è l'indicatore più chiaro che la correzione non ha avuto effetto.
Domande frequenti
Perché ollama ps mostra una suddivisione GPU/CPU invece del 100% GPU?
Il modello è più grande della VRAM disponibile. Ollama carica sul GPU il maggior numero possibile di layer e esegue i restanti sulla CPU. Il risultato è più veloce rispetto all'esecuzione interamente su CPU, ma più lento rispetto all'esecuzione interamente su GPU. Carica un modello più piccolo o passa a una quantizzazione inferiore per spostare ulteriori layer sulla GPU.
Ollama utilizzava la GPU in precedenza e improvvisamente ha smesso — cosa è cambiato?
Un aggiornamento del driver, del sistema operativo o di Ollama stesso può compromettere il rilevamento della GPU. Verifica che nvidia-smi mostri ancora la scheda, quindi esegui un riavvio completo del servizio. Se hai aggiornato di recente il driver NVIDIA, a volte è necessario un riavvio completo del sistema anziché un semplice riavvio del servizio.
Ollama può utilizzare più GPU contemporaneamente?
Sì. Ollama distribuisce automaticamente i layer del modello su tutte le GPU visibili quando ne sono presenti più di una. Per limitare le GPU utilizzabili da Ollama, imposta CUDA_VISIBLE_DEVICES (NVIDIA) oppure HIP_VISIBLE_DEVICES (AMD) prima di iniziare ollama serve.
Ollama funziona con le schede grafiche GeForce consumer o è necessaria una GPU per data center?
Le schede GeForce GTX 10xx e successive sono pienamente supportate — non è richiesta alcuna GPU per data center. Il limite pratico per la maggior parte degli utenti è la VRAM: una scheda da 8 GB esegue agevolmente modelli da 7–8 miliardi di parametri con quantizzazione Q4. Utilizza il Calcolatore VRAM per verificare che un modello specifico sia compatibile prima del download.
La mia GPU dispone di sufficiente VRAM, ma Ollama utilizza comunque la CPU. Perché?
Un altro processo potrebbe occupare la VRAM — controlla nvidia-smi per individuare altri utilizzatori, ad esempio un browser con accelerazione hardware o un altro modello in esecuzione. È anche possibile che il modello sia stato caricato prima che il driver della GPU fosse pronto. Arresta il modello caricato con ollama stop <nome>, libera la VRAM in altre applicazioni e ricarica il modello.
Dove posso trovare ulteriori informazioni sulla configurazione di Ollama e sulla scelta dei modelli?
Il Guida completa a Ollama tratta in modo approfondito le variabili d’ambiente, la gestione dei modelli e l’utilizzo dell’API. Per scegliere il modello più adatto al tuo hardware specifico, consulta il I migliori modelli locali per Ollama.

