NAS 部署 Ollama 性能夠不夠:CPU、內存和顯卡怎麼判斷

NAS 部署 Ollama 夠不夠用,取決於 CPU、內存、可用 GPU 和目標模型,而不是硬盤容量。本文給出 CPU-only、8GB/16GB 內存、NVIDIA 顯卡與 Docker 部署的實際判斷和測試方法。

NAS 能部署 Ollama,但“能安裝”和“用起來夠快”是兩回事。

如果目標是偶爾做摘要、文件問答、家庭自動化和低頻 API 調用,x86 NAS 用 CPU 跑小模型可以成立;如果希望像聊天軟件一樣連續對話、跑 7B/8B 代碼模型,或者讓多個服務調用,關鍵就變成顯存、內存和散熱,而不是硬盤有多少 TB。

先給結論:

沒有可用 GPU 的 NAS,適合小模型和低頻任務;有被 Ollama 正確識別的 NVIDIA GPU,才更適合把 7B/8B 模型作爲日常服務。

先確認你的 NAS 屬於哪一類

不要只看產品宣傳頁上的“AI 芯片”“NPU”或“4K 轉碼”。Ollama 是否能加速,取決於系統、驅動、容器權限和硬件是否在實際運行環境中被識別。

NAS 狀態 適合程度 更現實的用途
ARM CPU、8GB 內存、無可用 GPU 有限 極小模型、簡單分類、離線任務
x86 CPU、8GB 內存、無可用 GPU 勉強可用 1B–3B 量化模型、低頻文本處理
x86 CPU、16GB–32GB 內存、無可用 GPU 可測試 3B–7B 低量化模型,但響應速度通常較慢
x86 NAS + 8GB NVIDIA 顯存 日常可用 7B/8B 量化聊天、輕量代碼輔助、單用戶 API
x86 NAS + 12GB 以上 NVIDIA 顯存 更合適 8B 模型較舒適,部分 14B 量化模型可按上下文取捨

表格是部署判斷起點,不是性能承諾。CPU 型號、內存通道、模型格式、上下文長度、併發數、NAS 系統限制和散熱都會改變實際結果。

先把“存儲”和“推理”分開看

NAS 的大硬盤主要解決模型文件存放問題:你可以保存很多 GGUF、Ollama 模型層和文檔庫。推理速度主要由下面幾項決定:

  • CPU 的核心性能與內存帶寬;
  • 系統內存是否足夠裝下模型和運行時;
  • GPU 是否可用,以及顯存是否裝得下模型與上下文;
  • PCIe 通道、驅動和容器是否正確透傳;
  • 上下文長度、模型量化、併發和輸出長度。

所以“NAS 有 40TB 硬盤,能不能跑 32B 模型”的答案通常是:文件當然能放,但未必能以可接受的速度推理。

CPU-only NAS:什麼時候值得部署

沒有 GPU 也可以運行 Ollama。官方 Docker 鏡像支持純 CPU 啓動:

1
2
3
4
5
docker run -d \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama

CPU-only 適合:

  • 夜間批量摘要、文檔分類、標籤提取;
  • 家庭自動化中的低頻文本任務;
  • 驗證 API 調用、RAG 管道和權限邏輯;
  • 對首 token 延遲和生成速度不敏感的個人工具。

不太適合:

  • 多人聊天服務;
  • 長時間代碼 Agent;
  • 大模型連續生成;
  • 實時語音助手或高頻網頁問答。

CPU-only 的正確策略是先用小模型,短上下文,限制併發。不要先下載最大的模型再期待“靠 NAS 慢慢算”能獲得接近雲端的體驗。

內存至少要留多少

系統內存不只給模型權重使用,還要留給 NAS 本身、文件緩存、Docker、下載任務、照片索引、容器和 KV Cache。

一個實用原則:不要讓 Ollama 把 NAS 內存喫到開始大量 swap。 一旦 swap 頻繁介入,響應時間會明顯惡化,也會影響文件共享和其他服務。

內存 建議
8GB 只建議小模型與輕量測試;NAS 還跑多個服務時要更保守
16GB 可作爲 CPU-only 本地助手的起點,優先小模型或低量化版本
32GB 更適合 7B 級低量化模型、RAG 和多個輕量容器並存
64GB+ 有利於更大模型的 CPU/混合卸載與長文檔,但不等於生成速度足夠快

模型文件大小隻是下限。模型加載、上下文與運行時會繼續佔用內存,因此不要按“文件 8GB、機器 8GB”來判斷可否運行。

有 NVIDIA GPU 時,體驗差異最大

若 NAS 是 x86 Linux,且有支持的 NVIDIA 顯卡,Ollama 可使用 GPU 加速。Ollama 官方列出 NVIDIA compute capability 5.0+、驅動 531+ 的支持範圍,其中 RTX 30 系列也在支持列表內。

Docker 方案需要主機先配置 NVIDIA Container Toolkit,隨後再用 GPU 參數啓動容器:

1
2
3
4
5
6
docker run -d \
  --gpus=all \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama

容器啓動後,先驗證 GPU 透傳本身,而不是直接下載大模型:

1
docker run --gpus all ubuntu nvidia-smi

這條命令不能正常顯示顯卡時,Ollama 容器也無法使用 GPU。此時應先檢查驅動、Container Toolkit、Docker runtime 和 NAS 系統是否支持 PCIe GPU 透傳。

NAS 的核顯、NPU 和轉碼能力能直接用嗎

不能默認這麼認爲。

很多 NAS 的核顯主要用於視頻解碼、轉碼或圖形輸出;一些設備宣傳的 NPU 也可能只開放給廠商自帶應用。它們是否能被 Ollama 使用,取決於 Ollama 支持的後端、操作系統、驅動和設備權限。

部署前應看實際證據:

  • 宿主機能否看到 GPU 設備;
  • 容器內能否運行 nvidia-smi 或對應廠商檢測工具;
  • Ollama 日誌是否明確顯示使用 GPU;
  • 相同 prompt 下,GPU 與 CPU 的速度差是否合理。

看不到這些證據時,就按 CPU-only 預期規劃,不要因爲設備有“轉碼引擎”就按獨顯性能採購模型。

模型怎麼選纔不會把 NAS拖垮

NAS 部署的核心不是追求最大的模型,而是先讓常用任務穩定完成。

場景 模型選擇思路
家庭文檔摘要、分類、簡單問答 先試 1B–4B 模型
中文聊天、輕量腳本、單用戶 API 有 8GB 顯存時可試 7B/8B 量化模型
長代碼、複雜 Agent 優先更大顯存主機或雲端,不建議只靠普通 NAS CPU
Embedding/RAG Embedding 模型通常更輕,適合放 NAS;生成模型按需調用
多人同時調用 先做隊列和併發限制,不要讓所有請求直接並行加載大模型

模型一旦太大,NAS 常見的表現不是立刻失敗,而是加載很久、首 token 很慢、生成速度低、系統內存持續攀升,最後影響文件服務和容器穩定性。

建議的部署結構

對大多數家庭或小團隊,推薦把 NAS 當作“數據與輕推理節點”:

1
2
3
4
5
6
7
8
NAS
├─ Ollama:小模型、Embedding、低频 API
├─ 文档与向量库:私有文件、备份、RAG 数据
├─ 反向代理:局域网访问控制
└─ 监控:CPU、内存、GPU、容器日志

高显存主机或云端
└─ 大模型、长上下文、复杂 Agent、高并发推理

這種分工比強行把所有推理都塞進 NAS 更穩定:敏感文件仍留在本地,重任務再路由到更合適的設備。

部署前的五分鐘測試

不要先下載幾十 GB 模型。先按這個流程判斷:

  1. 確認 NAS 架構、Docker 支持和剩餘內存。
  2. 啓動 Ollama 容器,確認 http://NAS地址:11434 可訪問。
  3. 拉一個小模型,連續問 5 到 10 個固定問題。
  4. 觀察 CPU、內存、swap、磁盤 IO 和 GPU 佔用。
  5. 再換到接近真實需求的模型,逐步增加上下文和併發。

可以用下面命令查看容器資源:

1
docker stats ollama

如果有 NVIDIA GPU,再同時觀察:

1
nvidia-smi

只要模型運行時讓文件共享、照片服務或備份任務明顯變慢,就說明當前模型或併發對 NAS 不合適,應降低模型規模或把推理遷到其他機器。

網絡和安全不要忽略

Ollama 默認本地服務端口是 11434。如果要讓局域網其他設備調用,先在 NAS 防火牆或反向代理層做訪問控制,不要直接把無鑑權的推理端口暴露到公網。

尤其當 NAS 裏有家庭照片、備份、文檔和私有文件時,模型服務、文件服務和管理後臺應使用不同權限邊界。能在局域網完成的調用,就不需要開放公網端口。

總結

NAS 部署 Ollama 是否夠用,可以按下面方式判斷:

1
2
3
4
5
6
7
8
只做摘要、分类、Embedding
-> CPU-only NAS 可以尝试

想要 7B/8B 模型的日常交互体验
-> 需要可用 GPU,优先看显存

想做长上下文、复杂 Agent 或多人并发
-> 更适合高显存主机或云端推理

先用小模型驗證資源和穩定性,再決定是否加顯卡、擴內存或拆分推理節點。NAS 很適合承載私有數據和輕量模型服務,但它不是天然的大模型服務器。

參考:

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計