Intermedio 11 minOllama

Risolvere i problemi di Ollama: GPU non rilevata, rallentamenti, errori memoria

Hai installato Ollama, hai una buona GPU, eppure le risposte arrivano a rilento: un segno classico del fatto che Ollama non rileva la GPU e fa quindi eseguire il modello sul processore. Questa guida passa in rassegna i problemi più frequenti (fallback sulla CPU, errori out of memory, rallentamenti, conflitti tra driver) e fornisce per ciascuno i comandi diagnostici per individuare la causa reale anziché tirare a indovinare.

Di Marie L.·Agg. 2026-08-27·Testato su Windows, macOS e Linux

#I sintomi tipici

Ollama raramente smette del tutto di funzionare: di solito «funziona», ma male. Il daemon è effettivamente in ascolto su http://localhost:11434, il modello risponde, ma qualcosa non va. Saper riconoscere il sintomo aiuta già a individuare la giusta categoria di cause.

Risposte molto lente
Pochi token al secondo quando ci si aspetta di ottenerne decine: il modello gira probabilmente sulla CPU, con la GPU non rilevata o non utilizzata.
GPU allo 0% di attività
nvidia-smi o rocm-smi mostrano una scheda inattiva durante la generazione: Ollama non l'ha utilizzata.
Errore out of memory
Il caricamento fallisce oppure il modello viene rimosso dalla memoria con un messaggio CUDA/HIP « out of memory »: il modello o il suo contesto supera la capacità della VRAM.
Rallentamento improvviso dopo un aggiornamento
Un crollo della velocità di generazione da un giorno all'altro suggerisce un problema con un driver, una versione di Ollama o un conflitto CUDA/ROCm.
Offload parziale
Una parte dei livelli sulla GPU, il resto sulla CPU: funziona, ma molto più lentamente rispetto a un offload completo.

#Verificare che la GPU sia davvero utilizzata

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

Prima di cercare una soluzione, bisogna stabilire un fatto: Ollama utilizza la GPU, sì o no? Il comando più diretto è ollama ps, che mostra i modelli caricati e soprattutto la distribuzione tra CPU e GPU mentre un modello è in memoria.

Terminale — stato dei modelli caricati
# Charger un modèle puis, dans un autre terminal, l'interroger
ollama run qwen3.5:9b "bonjour"

# Pendant que le modèle est en mémoire, vérifier la répartition
ollama ps

La colonna PROCESSOR è la chiave. «100% GPU» significa che tutto il modello è sulla scheda — è quello che vogliamo. «100% CPU» conferma un ripiego completo sulla CPU. «60%/40% CPU/GPU» indica un offload parziale: il modello non entra interamente nella VRAM.

i
Leggere la colonna PROCESSOR
ollama ps n'affiche la répartition que tant qu'un modèle est chargé en mémoire. Par défaut Ollama décharge un modèle après 5 minutes d'inactivité (keep_alive) — lancez la commande juste après une génération.

Per incrociare le informazioni, monitora la GPU con gli strumenti del produttore durante una generazione. Se l'utilizzo aumenta, la GPU sta lavorando; se rimane a zero, Ollama la ignora.

Terminale — monitorare la GPU
# NVIDIA : rafraîchissement toutes les secondes
nvidia-smi -l 1

# AMD (ROCm)
rocm-smi

# Vue plus lisible et interactive (si installé)
nvtop

#Leggere i log di Ollama

I log del server indicano esattamente quale backend è stato caricato e perché una GPU è stata scelta o esclusa. Sono la fonte di riferimento quando ollama ps e nvidia-smi si contraddicono.

Terminal — consultare i log
# Linux (service systemd)
journalctl -u ollama -f

# macOS / lancement manuel : les logs vont sur la sortie du serveur
# Relancer le daemon en verbeux pour tout voir
OLLAMA_DEBUG=1 ollama serve

Cerca le righe che menzionano « inference compute », « library=cuda » o « library=rocm », e il numero di strati trasferiti alla GPU (« offloaded X/Y layers to GPU »). Se vedi « no compatible GPUs were discovered » o « library=cpu », hai trovato la causa: Ollama non ha rilevato alcuna GPU utilizzabile.

→
Il messaggio che conta
La riga « offloaded N/M layers to GPU » ti dice tutto: N=M è perfetto, N<M è un offload parziale (VRAM insufficiente), N=0 è esclusivamente CPU. Parti sempre da questa riga per diagnosticare.

#Fallback CPU e cause classiche

Quando Ollama non riesce a utilizzare la GPU, non va in crash: passa silenziosamente alla CPU. È il comportamento più disorientante perché, in apparenza, «tutto funziona». Ecco le cause più frequenti, dalla più banale alla più sottile.

  1. 01
    VRAM insufficiente per il modello
    Se il modello (pesi + contesto) supera la VRAM libera, Ollama ne trasferisce una parte, o anche la totalità, alla CPU. Un 14B in Q4 richiede ≈9 GB, un 32B ≈19 GB: su una scheda da 12 GB, il 32B non potrà mai rientrare interamente nella VRAM.
  2. 02
    Driver GPU mancante o troppo vecchio
    Senza un driver NVIDIA recente (o ROCm per AMD), Ollama non rileva nessuna GPU compatibile e torna a usare la CPU. È la causa numero 1 di un «ollama gpu non rilevato».
  3. 03
    GPU occupata da un altro processo
    Un altro modello, un gioco, un notebook Python o un'altra istanza Ollama può già saturare la VRAM. nvidia-smi elenca i processi e la memoria consumata.
  4. 04
    Ollama in un container senza passthrough GPU
    In Docker, senza --gpus all (NVIDIA) o senza esporre i dispositivi ROCm, il container non vede la scheda. Il daemon funziona, ma sulla CPU.
  5. 05
    GPU non supportata
    Schede troppo vecchie (capacità di calcolo CUDA insufficiente) o GPU AMD non presenti nell'elenco ufficiale ROCm: Ollama le ignora volontariamente.
Terminale — chi occupa la VRAM?
# Voir les processus et la mémoire GPU consommée
nvidia-smi

# Repérer d'autres instances Ollama qui tourneraient déjà
ps aux | grep ollama
!
Docker e la GPU
Se un container Ollama gira sulla CPU mentre la macchina host ha una GPU, la causa è quasi sempre un passthrough mancante. Verifica il flag --gpus all e l'installazione del NVIDIA Container Toolkit sull'host.

#Errori out of memory: interpretarli e risolverli

Un messaggio «CUDA error: out of memory» (o «HIP out of memory» su AMD) significa che il modello richiede più VRAM di quella disponibile. Due parametri aumentano questa richiesta: la dimensione del modello e la finestra di contesto. Ridurre uno o l'altro risolve la maggior parte dei casi.

Modello troppo grande
Passa a una quantizzazione più leggera (Q4_K_M al posto di Q5/Q8) o a un modello più piccolo. Valori di riferimento per Q4: 7B≈5 GB · 14B≈9 GB · 32B≈19 GB · 70B≈40 GB.
Contesto troppo lungo
Un valore elevato di num_ctx moltiplica la memoria occupata dalla cache KV. Ridurre la finestra di contesto (num_ctx) libera molta VRAM, soprattutto sui modelli di grandi dimensioni.
VRAM frammentata da un altro processo
Chiudi giochi, notebook e altri modelli. Riavvia il daemon Ollama per ripartire con una VRAM pulita.
Memoria residua
Un modello precedente ancora caricato occupa la VRAM. ollama stop <modèle> lo rimuove immediatamente dalla memoria invece di attendere la scadenza di keep_alive.
Terminale — ridurre la pressione sulla memoria
# Décharger un modèle tout de suite
ollama stop qwen3.6:35b

# Lancer avec un contexte réduit (via l'API ou un Modelfile)
# Exemple : forcer num_ctx à 4096 au lieu de la valeur par défaut
ollama run qwen3.5:9b
# puis dans le prompt interactif :
# /set parameter num_ctx 4096
→
Stimare prima di caricare
Somma la dimensione del modello (in base alla sua quantizzazione) e un margine per il contesto. Cerca di restare sotto circa il 90% della tua VRAM totale: oltre questa soglia, rischi l'offload parziale o un errore OOM. Su una RTX 4090 da 24 GB, un modello 32B Q4 (≈19 GB) ci sta; un 70B Q4 (≈40 GB) no.

#Driver NVIDIA/AMD, CUDA e ROCm aggiornati

Molti problemi del tipo «GPU non rilevata da Ollama» si risolvono aggiornando i driver. Ollama include le proprie librerie CUDA/ROCm, ma dipende dal driver del sistema per comunicare con l'hardware.

Terminale — verificare il driver NVIDIA
# Doit afficher la version du driver et CUDA
nvidia-smi

# Si la commande échoue : le driver n'est pas installé ou pas chargé
# Vérifier que le module noyau est bien chargé (Linux)
lsmod | grep nvidia

Per AMD, l'installazione di ROCm è più impegnativa: la scheda deve figurare nell'elenco delle GPU supportate e talvolta occorre esportare una variabile per forzare il supporto di un'architettura simile (HSA_OVERRIDE_GFX_VERSION). Verifica prima di tutto che rocminfo rilevi correttamente la GPU.

Terminal — verificare ROCm (AMD)
# Le GPU doit apparaître dans la liste des agents
rocminfo | grep -i gfx

# État et mémoire du GPU AMD
rocm-smi

# Forcer une architecture proche si la carte n'est pas officiellement listée
export HSA_OVERRIDE_GFX_VERSION=11.0.0
!
Dopo un aggiornamento del driver, riavvia il servizio
Un nuovo driver viene riconosciuto solo dopo il ricaricamento del modulo del kernel — la soluzione più sicura è riavviare la macchina, poi il servizio Ollama (sudo systemctl restart ollama). Un demone avviato prima dell'aggiornamento continua a vedere lo stato precedente.

#Rallentamenti improvvisi

Una velocità di generazione inizialmente buona che poi cala bruscamente ha quasi sempre una causa identificabile. A differenza del fallback permanente sulla CPU, un rallentamento improvviso rivela un recente cambiamento di stato.

Offload parziale comparso di recente
Hai aumentato il contesto o caricato un modello più grande: una parte passa sulla CPU. Controlla ollama ps e la riga «offloaded N/M layers».
Throttling termico
Una GPU che si scalda riduce la propria frequenza. nvidia-smi mostra la temperatura e lo stato «P-State»; oltre circa 83 °C, la scheda limita la frequenza per effetto del throttling termico.
Aggiornamento di Ollama o del driver
Una regressione può rallentare l'inferenza. Annota la versione che funzionava (ollama --version) prima di aggiornare, per poter tornare indietro.
VRAM condivisa / memoria di sistema
Su Windows, quando la capacità della VRAM viene superata, il driver può utilizzare la RAM di sistema (memoria GPU condivisa), facendo crollare le prestazioni. Scegli un modello più piccolo anziché lasciare che venga superata la capacità della VRAM.
Ricaricamento a ogni richiesta
Un keep_alive troppo breve ricarica il modello costantemente. Aumenta OLLAMA_KEEP_ALIVE se invii richieste consecutive.
Terminale — temperatura e frequenza
# Surveiller température, conso et fréquence en continu
nvidia-smi -l 1

# Garder les modèles chargés plus longtemps (ex : 30 min)
export OLLAMA_KEEP_ALIVE=30m
sudo systemctl restart ollama

#Checklist di diagnosi

Quando qualcosa va storto, segui questi passaggi nell'ordine: vanno dal più comune al meno comune e ti evitano di partire in una direzione sbagliata.

  1. 01
    1. Confermare il sintomo
    ollama ps pendant une génération : la colonne PROCESSOR indique-t-elle CPU, GPU ou un mélange ?
  2. 02
    2. Verificare che la GPU sia rilevata dal sistema
    nvidia-smi (o rocm-smi) risponde? Altrimenti, il problema è nel driver, non in Ollama.
  3. 03
    3. Leggere i log
    journalctl -u ollama -f (o OLLAMA_DEBUG=1 ollama serve) : cercare « library=cuda/rocm/cpu » e « offloaded N/M layers ».
  4. 04
    4. Verificare la VRAM disponibile
    nvidia-smi : un altro processo occupa la scheda? Il modello entra nella VRAM libera?
  5. 05
    5. Ridurre il carico in caso di OOM o offload parziale
    Quantizzazione più leggera, modello più piccolo o num_ctx ridotto. Rimuovere dalla memoria i modelli inutilizzati con ollama stop.
  6. 06
    6. Aggiornare e riavviare
    Driver e Ollama aggiornati, poi riavviare il servizio (e la macchina dopo un cambio di driver).
i
Isolare prima di correggere
La regola d'oro: cambia una sola cosa alla volta e verifica di nuovo con ollama ps. Modificare driver, contesto e modello contemporaneamente rende impossibile identificare ciò che ha realmente risolto — o aggravato — il problema.

#Per approfondire

Una volta rilevata correttamente la GPU, queste guide del sito aiutano a ottenere il massimo dalla tua configurazione e a evitare che i problemi si ripresentino:

Scegliere la quantizzazione (Q4, Q5, Q8, FP16)
Il vantaggio numero 1 contro gli errori di memoria: capire il compromesso qualità/VRAM per scegliere un formato che entra nella tua scheda.
Eseguire un LLM in locale senza GPU (solo CPU)
Se il tuo hardware non permette l'offload sulla GPU, questa guida mostra come mantenere il modello utilizzabile con la sola CPU e quali modelli scegliere in base alla RAM.
Installare Ollama: Windows, macOS e Linux
Rivedere la corretta installazione del daemon e dei driver, spesso la vera causa del mancato rilevamento di una GPU.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.