Ollama,查看显存占用通常有三种方式,从最底层到 Ollama 自身。
一、最直接:用 nvidia-smi 看 GPU 显存
这是最准确的方法。
nvidia-smi
示例输出:
+-----------------------------------------------------------------------------+
| GPU Name Memory-Usage |
| 0 A100 12000MiB / 81920MiB |
| 1 A100 0MiB / 81920MiB |
+-----------------------------------------------------------------------------+
你还能看到具体进程:
+-----------------------------------------------------------------------------+
| Processes: |
| GPU PID Type Process name GPU Memory |
| 0 23451 C ollama 11876MiB |
+-----------------------------------------------------------------------------+
说明:
- ollama 进程占用了 11.8GB 显存
- PID = 23451
如果你想实时刷新:
watch -n 1 nvidia-smi
每秒刷新一次。
二、只看某个进程显存
先找到 ollama 进程:
ps -ef | grep ollama
然后:
nvidia-smi pmon -i 0
输出类似:
# gpu pid type sm mem enc dec
0 23451 C 70 80 0 0
三、查看 Ollama 当前加载模型
Ollama 本身提供 API:
curl http://localhost:11434/api/ps
返回:
{
"models": [
{
"name": "qwen2.5:7b",
"size": 4661224670,
"digest": "xxx"
}
]
}
说明当前 正在加载的模型。
但注意:
Ollama 不会直接告诉你显存占用
显存只能通过 nvidia-smi 查。
四、很多人不知道的一个技巧
如果你想看 GPU 显存变化过程:
watch -d -n 1 nvidia-smi
-d 会高亮变化。
你可以看到:
0 MiB → 8000 MiB
这就是 模型加载瞬间显存占用。
五、如果是多 GPU 服务器
例如你有 8 张 A100:
nvidia-smi --query-gpu=index,name,memory.used,memory.total --format=csv
输出:
index, name, memory.used, memory.total
0, A100, 11000 MiB, 81920 MiB
1, A100, 0 MiB, 81920 MiB
六、如果你在做并发压测(推荐)
显存 + GPU 利用率一起看:
nvidia-smi dmon
输出:
# gpu sm mem enc dec
0 80 60 0 0
解释:
| 指标 | 含义 |
|---|---|
| sm | GPU计算利用率 |
| mem | 显存带宽利用率 |
七、你做推理服务器建议用这个工具
比 nvidia-smi 好看很多:
pip install gpustat
然后:
gpustat -i
输出:
[0] A100 | 12GB / 80GB | ollama(23451)
