Guide/Ollama usa troppa memoria

Ollama usa troppa memoria sul Mac? Come vedere cosa è caricato e scaricarlo dalla memoria

Atta 🐬

Fondatore di Vitals

Pubblicata il

In breve

Ollama tiene un modello in memoria per cinque minuti dopo l’ultima risposta, così la domanda successiva riceve risposta in fretta. Per questo occupa ancora diversi gigabyte quando hai smesso di usarlo. Esegui ollama ps per vedere quali modelli sono caricati e quando ciascuno verrà scaricato dalla memoria, e ollama stop seguito dal nome di un modello per scaricarlo subito. Quanta memoria occupa un modello dipende dalle sue dimensioni e dalla lunghezza del contesto con cui lo esegui. Vitals, un monitor di sistema per Mac, mostra nella barra dei menu la memoria di Ollama, il carico del chip grafico e l’Utilizzo della memoria del Mac.

Come vedere e liberare la memoria di Ollama

  1. 01 Nel Terminale, esegui ollama ps. Ogni riga è un modello in memoria, con le sue dimensioni, se gira sul chip grafico e quanto manca a quando verrà scaricato.
  2. 02 Scaricane uno subito con ollama stop seguito dal suo nome, per esempio ollama stop llama3.2. La memoria torna disponibile nel giro di un secondo o due.
  3. 03 Apri Monitoraggio Attività, fai clic su Memoria e guarda il grafico Utilizzo della memoria in basso. Verde significa che il modello ci sta. Giallo o rosso mentre un modello è caricato significa che è troppo grande per tutto il resto che è aperto.
  4. 04 Per far scaricare prima i modelli, imposta per quanto tempo vengono tenuti. Nel Terminale, esegui launchctl setenv OLLAMA_KEEP_ALIVE 1m, poi chiudi Ollama dalla sua icona nella barra dei menu e riaprilo.
  5. 05 Se il Mac è a corto di memoria ogni volta che un modello è caricato, usa un modello più piccolo o una versione più piccola dello stesso. ollama list mostra quelli che hai e le loro dimensioni.

Un keep-alive di 0 scarica un modello appena ha risposto; -1 lo tiene caricato finché non lo fermi tu. Le app che parlano con Ollama possono impostare un loro valore a ogni richiesta, ed è per questo che a volte un modello resta più a lungo di quanto hai impostato.

Eseguire un modello sul proprio Mac significa tenerlo tutto in memoria nello stesso momento. Un Mac con Apple silicon condivide un’unica riserva di memoria tra il processore e il chip grafico, quindi un modello che altrove richiederebbe una scheda grafica dedicata qui ci sta, ma esce dalla stessa memoria che usano le tue app. Un modello da 8 GB su un Mac da 16 GB lascia 8 GB a tutto il resto. Quando Ollama occupa così tanto non sta perdendo memoria: sta tenendo il modello. La tabella mostra cosa decide il numero.

Cosa decide la memoria di Ollama

Cosa vediPerchéCosa fare
Diversi GB occupati dopo che hai smesso di chattare Il modello resta caricato per cinque minuti ollama stop, o un keep-alive più breve
Più memoria delle dimensioni del file del modello Anche il contesto con cui lo esegui richiede memoria Usa una lunghezza del contesto più piccola
Due modelli in memoria insieme È stato richiesto un secondo modello prima che il primo venisse scaricato ollama ps, poi ferma quello che non stai usando
Utilizzo della memoria giallo o rosso, il Mac lento Il modello è troppo grande per la memoria libera Un modello più piccolo, oppure chiudi altre app
Risposte lente e CPU impegnata Una parte del modello non è entrata nel chip grafico ollama ps mostra la ripartizione; usa un modello più piccolo

Perché Ollama tiene caricati i modelli

Caricare un modello significa leggere gigabyte dal disco in memoria, e ci vogliono da qualche secondo a un minuto. Farlo per ogni domanda renderebbe lenta ogni risposta, quindi Ollama tiene il modello per cinque minuti dopo l’ultimo utilizzo e poi lo scarica. Ogni nuova domanda fa ripartire il conteggio. Se un’app sul tuo Mac chiede qualcosa al modello ogni pochi minuti, per esempio il completamento automatico di un editor, il modello non viene mai scaricato.

L’impostazione si chiama keep-alive. OLLAMA_KEEP_ALIVE cambia il valore predefinito per tutto; un valore di 0 restituisce subito la memoria, al costo di una prima risposta lenta ogni volta.

Quanta memoria serve a un modello

Di regola la memoria è pari alle dimensioni del file del modello più lo spazio per la conversazione. Un modello con 8 miliardi di parametri alla compressione abituale occupa circa 5 GB; uno con 30 miliardi circa 20 GB. Le dimensioni su disco che mostra ollama list sono una buona prima stima.

La lunghezza del contesto è la parte che sfugge. È la quantità di testo che il modello può tenere a mente in una volta, e la memoria che le serve viene riservata quando il modello si carica, che tu la riempia o no. Un contesto lungo su un modello piccolo può usare più memoria del modello stesso. Se ollama ps mostra dimensioni ben superiori a quelle del file, il motivo è il contesto.

Il modello ci sta nel tuo Mac?

La prova onesta è l’Utilizzo della memoria con il modello caricato e le tue solite app aperte. Verde: ci sta. Giallo: macOS sta comprimendo la memoria per fare spazio, e tutto rallenta un po’. Rosso: sta spostando memoria sul disco, e sia il modello sia il Mac diventano lenti. Anche un modello che gira in parte sul processore perché non è entrato nel chip grafico è molto più lento; ollama ps dice come è stato ripartito.

Una versione più piccola dello stesso modello di solito costa poco in qualità e molto meno in memoria. Su un Mac con 16 GB, i modelli fino a circa 8 GB lasciano spazio per lavorare. Vedi memoria unificata per capire come il Mac la condivide.

LM Studio e altre app

Lo stesso vale per qualsiasi app che esegue modelli in locale. LM Studio tiene caricato un modello finché non lo espelli o finché non scade il suo tempo di inattività, e mostra i modelli caricati in cima alla finestra. Gli editor e le app di chat che eseguono un modello per te fanno lo stesso dietro le quinte. La memoria è il modello, qualunque app lo tenga.

Cosa aggiunge Vitals

Vitals mostra quanto costa al Mac un modello caricato, dove puoi vederlo mentre lavori.

  • La memoria di Ollama come una sola riga, processi helper inclusi
  • Utilizzo della memoria e memoria libera nella barra dei menu, così vedi subito se un modello ci sta
  • Il carico del chip grafico nella barra dei menu e in un pannello dedicato, con le app che lo usano
  • Una notifica quando la memoria di un’app continua a crescere
  • Quale app ha usato più energia, ora per ora: eseguire un modello è tra le cose più pesanti che un Mac fa a batteria

Buono a sapersi

  • Vitals mostra la memoria che Ollama occupa, non quale modello è caricato. Quello lo mostra ollama ps.
  • Vitals non scarica i modelli dalla memoria. Lo fa ollama stop.
Acquista Vitals a $9 $9 durante il lancio, poi $29. Rimborso entro 14 giorni.

Domande frequenti

Perché Ollama usa così tanta memoria?

Sta tenendo un modello in memoria. I modelli restano caricati per cinque minuti dopo l’ultima risposta. Esegui ollama ps per vedere cosa è caricato, e ollama stop con il nome del modello per scaricarlo dalla memoria.

Come scarico un modello dalla memoria in Ollama?

Esegui ollama stop seguito dal nome del modello. Per far scaricare prima i modelli da soli, imposta OLLAMA_KEEP_ALIVE su un tempo più breve.

Come cambio per quanto tempo Ollama tiene caricato un modello sul Mac?

Esegui launchctl setenv OLLAMA_KEEP_ALIVE 1m nel Terminale, con il tempo che vuoi, poi chiudi e riapri Ollama. Usa 0 per scaricare subito, o -1 per tenere i modelli caricati.

Quanta memoria serve per eseguire un modello con Ollama?

Circa le dimensioni del file del modello più lo spazio per il contesto. Su un Mac da 16 GB, i modelli fino a circa 8 GB lasciano spazio alle altre app.

Perché Ollama usa più memoria delle dimensioni del modello?

La memoria per la lunghezza del contesto viene riservata quando il modello si carica. Un contesto lungo può aggiungere diversi gigabyte. Esegui il modello con un contesto più piccolo se non ti serve.

Ollama usa memoria quando non lo sto usando?

Solo per cinque minuti dopo l’ultima risposta, a meno che un’app continui a chiedergli qualcosa o il tempo di keep-alive sia stato allungato. Dopo, il modello viene scaricato e Ollama usa pochissimo.

Esiste un’app che mostra se un modello locale ci sta nella memoria del Mac?

Vitals mostra nella barra dei menu l’Utilizzo della memoria, la memoria libera e il carico del chip grafico, così vedi quanto costa un modello caricato mentre lavori.

Nel glossario

Altre guide