CUDA & OLLAMA 配置多显卡负载均衡
1. 系统环境概述
-
显卡型号:2 × NVIDIA GeForce RTX 4060 Ti
-
驱动版本:560.94
-
CUDA版本:12.6
-
显存状态:
plaintextcmd执行 nvidia-smi GPU 0: 14,542MiB / 16,380MiB (空闲) GPU 1: 13,900MiB / 16,380MiB (空闲)
2. CUDA 环境配置
核心变量
| 环境变量 | 值/作用说明 | 示例值 |
|---|---|---|
CUDA_PATH |
CUDA Toolkit安装路径 | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6 |
CUDA_PATH_V12_6 |
CUDA 12.6专用路径 | 同上 |
CUDA_VISIBLE_DEVICES |
指定可见GPU设备(通过nvidia-smi查询ID) |
0,1(启用GPU 0和1) |
3. OLLAMA 高级配置
GPU 资源管理
| 环境变量 | 功能说明 | 推荐值 |
|---|---|---|
OLLAMA_GPU_LAYER |
强制使用CUDA分配GPU资源 | cuda |
OLLAMA_NUM_GPU |
启用GPU数量(需与CUDA_VISIBLE_DEVICES匹配) |
2 |
OLLAMA_SCHED_SPREAD |
GPU负载均衡策略(1=自动均衡) | 1 |
OLLAMA_MAX_LOADED_MODELS |
单GPU最大加载模型数(防止显存溢出) | 3 |
服务与并发控制
| 环境变量 | 功能说明 | 推荐值 |
|---|---|---|
OLLAMA_HOST |
服务监听地址(0.0.0.0=允许所有IP访问) |
0.0.0.0 |
OLLAMA_NUM_PARALLEL |
最大并发请求数(根据GPU算力调整) | 6 |
OLLAMA_KEEP_ALIVE |
模型驻留时间(-1=永久驻留显存,避免重复加载) |
-1 |
存储路径
| 环境变量 | 功能说明 | 示例值 |
|---|---|---|
OLLAMA_MODELS |
模型文件存储根目录 | D:\ollama\models |
4. 完整配置示例
(1) linux
bash
# CUDA 配置
export CUDA_PATH="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6"
export CUDA_VISIBLE_DEVICES=0,1
# OLLAMA 核心配置
export OLLAMA_GPU_LAYER=cuda
export OLLAMA_HOST=0.0.0.0
export OLLAMA_KEEP_ALIVE=-1
export OLLAMA_MAX_LOADED_MODELS=3
export OLLAMA_MODELS=D:\ollama\models
export OLLAMA_NUM_GPU=2
export OLLAMA_NUM_PARALLEL=6
export OLLAMA_SCHED_SPREAD=1
(2) windows

5. 关键优化点
- 多GPU负载均衡 :通过
OLLAMA_SCHED_SPREAD=1实现双卡算力动态分配 - 显存驻留优化 :
OLLAMA_KEEP_ALIVE=-1避免高频请求时的模型重复加载 - 并发控制 :
OLLAMA_NUM_PARALLEL=6平衡RTX 4060 Ti的算力与响应延迟
6. 配置示例
配置之后模型全部跑在GPU上,不会将CPU拉满
