Start, stop e risorse
Un modello caricato occupa RAM finché non viene scaricato; il daemon a vuoto pesa pochissimo. Per liberare risorse agisci su tre livelli: modello, daemon, stack Docker.
Stato attuale
Sezione intitolata “Stato attuale”ollama pspgrep -fl ollamaps -o pid,rss,command -p $(pgrep -d, -f ollama) | awk 'NR==1{print;next}{printf "%s %.1f GB %s\n",$1,$2/1024/1024,$3}'memory_pressure | tail -11. Scaricare il modello (daemon attivo)
Sezione intitolata “1. Scaricare il modello (daemon attivo)”Libera subito RAM/VRAM, il modello resta su disco:
ollama stop qwen2.5:7b-instructEquivalente via API (utile negli script):
curl -s http://localhost:11434/api/generate -d '{"model":"qwen2.5:7b-instruct","keep_alive":0}'Tenere il modello caricato a tempo indeterminato durante una sessione di test:
curl -s http://localhost:11434/api/generate -d '{"model":"qwen2.5:7b-instruct","keep_alive":-1}'2. Fermare il daemon
Sezione intitolata “2. Fermare il daemon”Formula come servizio:
brew services stop ollamabrew services start ollamabrew services restart ollamaFormula in foreground: Ctrl+C nel terminale. Se è rimasto un processo orfano:
pkill -f "ollama serve"App Ollama:
osascript -e 'quit app "Ollama"'open -a OllamaVerifica che la porta sia libera:
lsof -nP -iTCP:11434 -sTCP:LISTEN || echo "ollama stopped"3. Fermare lo stack Docker/kind
Sezione intitolata “3. Fermare lo stack Docker/kind”Stop del solo cluster kind (lo stato resta, riparte com’era):
docker stop ai-mon-control-planedocker start ai-mon-control-planeStop completo di Docker Desktop (libera la VM, 5–6 GB):
docker desktop stopdocker desktop startdocker desktop statusTuning per consumare meno
Sezione intitolata “Tuning per consumare meno”| Variabile | Effetto | Valore lab |
|---|---|---|
OLLAMA_KEEP_ALIVE |
tempo prima di scaricare il modello | 2m |
OLLAMA_MAX_LOADED_MODELS |
modelli caricati insieme | 1 |
OLLAMA_NUM_PARALLEL |
richieste parallele per modello (moltiplica la KV cache) | 1 |
OLLAMA_CONTEXT_LENGTH |
contesto di default | 8192 |
OLLAMA_FLASH_ATTENTION |
attention più efficiente in memoria | 1 |
OLLAMA_KV_CACHE_TYPE |
KV cache quantizzata, richiede flash attention | q8_0 |
Con ollama serve in foreground:
OLLAMA_KEEP_ALIVE=2m OLLAMA_MAX_LOADED_MODELS=1 OLLAMA_NUM_PARALLEL=1 OLLAMA_FLASH_ATTENTION=1 OLLAMA_KV_CACHE_TYPE=q8_0 ollama serveCon brew services o l’app (launchd), imposta le variabili e riavvia:
launchctl setenv OLLAMA_KEEP_ALIVE 2mlaunchctl setenv OLLAMA_FLASH_ATTENTION 1brew services restart ollamalaunchctl setenv non sopravvive al reboot. Per rimuovere una variabile:
launchctl unsetenv OLLAMA_KEEP_ALIVEAlias per ~/.zshrc
Sezione intitolata “Alias per ~/.zshrc”alias ai-on='brew services start ollama && docker desktop start && docker start ai-mon-control-plane'alias ai-off='ollama ps | awk "NR>1{print \$1}" | xargs -n1 ollama stop; brew services stop ollama; docker desktop stop'alias ai-status='brew services info ollama; ollama ps 2>/dev/null; docker desktop status'Spazio disco
Sezione intitolata “Spazio disco”du -sh ~/.ollama/modelsollama listollama rm qwen2.5:14b-instructPer spostare lo store su un disco esterno:
launchctl setenv OLLAMA_MODELS /Volumes/External/ollama-models