CUDA & OLLAMA 配置多显卡负载均衡

CUDA & OLLAMA 配置多显卡负载均衡

1. 系统环境概述

  • 显卡型号:2 × NVIDIA GeForce RTX 4060 Ti

  • 驱动版本:560.94

  • CUDA版本:12.6

  • 显存状态

    plaintext 复制代码
    cmd执行 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. 关键优化点

  1. 多GPU负载均衡 :通过OLLAMA_SCHED_SPREAD=1实现双卡算力动态分配
  2. 显存驻留优化OLLAMA_KEEP_ALIVE=-1避免高频请求时的模型重复加载
  3. 并发控制OLLAMA_NUM_PARALLEL=6平衡RTX 4060 Ti的算力与响应延迟

6. 配置示例

配置之后模型全部跑在GPU上,不会将CPU拉满

相关推荐
Cx330❀1 小时前
Git 基础操作通关指南:版本回退、撤销修改与文件删除深度解析
大数据·运维·服务器·git·算法·搜索引擎·面试
weixin_307779131 小时前
简化多维度测试:Jenkins Matrix Project 的核心概念与最佳实践
运维·开发语言·架构·jenkins
weixin_307779131 小时前
Jenkins Matrix Authorization Strategy插件:详解与应用指南
运维·开发语言·架构·jenkins
知识分子_1 小时前
CICD:jenkins pipeline搭建项目流水线,遇到的问题和方案
运维·jenkins
tianyuanwo1 小时前
深入dracut:构建可靠initrd的模块化哲学与工程实践
运维·服务器·initrd·dracut
天道酬勤~1 小时前
GPU服务器安装驱动
运维·服务器
CaracalTiger1 小时前
在openEuler操作系统中多样性算力支持与性能压力测试操作
linux·运维·git·开源·开放原子·压力测试·开源软件
艾莉丝努力练剑2 小时前
【Linux基础开发工具 (六)】Linux中的第一个系统程序——进度条Linux:详解回车、换行与缓冲区
java·linux·运维·服务器·c++·centos
A-刘晨阳2 小时前
【云原生】Kubernetes 指定节点部署 Pod
运维·云原生·容器·kubernetes·云计算