內容目錄
🧱 直接給「滿血設定」
你現在 service 改成這個👇(最重要)
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3# ===== 核心 =====
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_KEEP_ALIVE=-1"# ===== GPU 強制 =====
Environment="OLLAMA_GPU_LAYERS=999"# ===== 記憶體優化 =====
Environment="OLLAMA_KV_CACHE_TYPE=q8_0"
Environment="OLLAMA_FLASH_ATTENTION=1"# ===== Spark專用 tuning =====
Environment="OLLAMA_NUM_PARALLEL=2"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
Environment="OLLAMA_MAX_QUEUE=512"# ===== CPU 控制 =====
Environment="OMP_NUM_THREADS=20"# ===== PATH =====
Environment="PATH=/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[Install]
WantedBy=multi-user.target
🔁 套用
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart ollama
🔍 一定要做驗證
systemctl show ollama | grep OLLAMA
👉 要看到全部變數
🧠 模型才是性能關鍵
🔥 Spark 正確用法
| 用途 | 模型 |
|---|---|
| 最快 | llama3:8b |
| 平衡 | llama3:13b |
| 大模型 | 30B(單一) |
✅ 先做這個測試(非常重要)
ollama run llama3
👉 再看:
nvidia-smi
🔥 讓 GPU 真的滿血(關鍵3件事)
① 模型「完全進 GPU」
👉 關鍵判斷:
ollama ps
看到:
100% GPU
👉 才算成功
② context 不要亂開
👉 Ollama 預設 4096
👉 你如果開到:
- 32K / 128K
👉 = 直接 CPU fallback
👉 建議:
ollama run llama3 --num_ctx 4096
③ 不要多模型併發
Spark 特性:
👉 記憶體大,但 bandwidth 普通
👉 所以:
OLLAMA_NUM_PARALLEL=2
是最佳解
🧠 Spark 的本質
👉 DGX Spark:
- 128GB memory ✔
- 超大模型可跑 ✔
- ❌ 不是高吞吐 GPU
👉 正確定位:
🔥 大模型單機推理機
🧪 接下就會看到的改善
調完後:
| 指標 | 改善 |
|---|---|
| GPU Util | 0% → 80%+ |
| token/sec | ↑ 3~10倍 |
| latency | ↓ 50%以上 |
| CPU | ↓ |
🎯 注意事項
👉 ❗不要讓使用者直接打 Ollama
近期留言