在 Ubuntu 24.04 系统下为 RTX 4090 显卡配置 Ollama 0.10.1 的完整操作流程如下:
之前在0.9.6上浪费了特别多的时间,这里记录一下
✅ 关键步骤概览
graph TD
A[安装NVIDIA驱动] --> B[安装CUDA Toolkit]
B --> C[安装Docker]
C --> D[安装Ollama 0.10.1]
D --> E[验证GPU识别]
1. 安装 NVIDIA 显卡驱动
# 添加官方显卡驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
# 安装适用于RTX 40系的推荐驱动(当前推荐535+)
sudo apt install nvidia-driver-535 -y
# 重启系统
sudo reboot
# 验证驱动安装
nvidia-smi
输出应包含类似信息:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.07 Driver Version: 535.161.07 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4090 On | 00000000:01:00.0 Off | Off |
| 0% 36C P8 17W / 450W | 6MiB / 24576MiB | 0% Default |
2. 安装 CUDA Toolkit 12.2+
# 下载CUDA 12.2安装包
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
# 安装CUDA
sudo sh cuda_12.2.2_535.104.05_linux.run
# 配置环境变量
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# 验证安装
nvcc --version
预期输出:nvcc: NVIDIA (R) Cuda compiler driver; Release 12.2, V12.2.128
3. 安装 Docker 及 NVIDIA 容器支持
# 安装Docker
sudo apt install docker.io -y
sudo systemctl enable --now docker
# 安装NVIDIA Container Toolkit
sudo apt install nvidia-container-toolkit -y
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# 验证容器GPU支持
sudo docker run --rm --gpus all nvidia/cuda:12.2.2-base nvidia-smi
4. 安装 Ollama 0.10.1
# 下载最新版本
curl -fsSL https://ollama.com/install.sh | sh
# 检查版本(需重启终端)
ollama --version # 应输出 >=0.10.1
# 启动服务并设置开机自启
sudo systemctl enable ollama
sudo systemctl start ollama

5. 验证 GPU 加速是否生效
# 运行测试模型(首次会下载约4GB数据)
ollama run llama3
# 在模型对话中执行GPU检测命令
>>> /verbose
>>> !nvidia-smi # 观察GPU利用率变化
成功标志:
终端输出出现 GPU layers: 100% 类似提示
nvidia-smi 显示 Ollama 进程占用 GPU
⚠️ 常见问题解决
❌ 问题1:Ollama 无法识别 GPU
# 编辑服务配置文件
sudo nano /etc/systemd/system/ollama.service
# 在 [Service] 部分添加环境变量
Environment="OLLAMA_GPU_LAYERS=100" # 强制启用GPU加速
Environment="HIP_VISIBLE_DEVICES=0" # 指定使用第一块GPU
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart ollama
❌ 问题2:CUDA版本不兼容
# 检查CUDA兼容性
ollama serve # 前台运行查看日志
# 若出现 CUDA error 801
sudo rm /usr/local/cuda # 移除旧版本软链接
sudo ln -s /usr/local/cuda-12.2 /usr/local/cuda
性能优化提议
# ~/.ollama/config.json
{
"GPU_Layers": 100, # 4090提议设80-100层
"Num_GPU": 1, # 使用单卡
"Main_GPU": "0", # 指定主卡
"F16_KV": true, # 启用FP16加速
"Flash_Attention": true # 启用闪存注意力
}
最终验证:运行大模型时观察GPU利用率
watch -n 1 nvidia-smi
当模型推理时,应看到:
GPU-Util > 70%
Volatile GPU-Util 持续波动
Memory-Usage 根据模型大小增长(如llama3-70B约占用22GB)
按照此流程操作,您的 RTX 4090 将在 Ubuntu 24.04 下充分发挥性能。若仍有问题,可通过 journalctl -u ollama -f 查看实时日志定位错误。
¥1299.00
【咨询更优惠】Matatalab玛塔儿童编程机器人3-9岁编程玩具益智ai智能拼积木男孩女孩幼儿无屏护眼儿童节礼物
¥679.00
名校堂r9x早教机智能护眼儿童益智启蒙机器人宝宝玩具0一1岁以上
¥10738.00
进化者小胖机器人象棋机器人尊享版有电池学棋练棋陪下棋智能机器人企业团购商务送礼
¥2599.00
儿童节礼物萤石智能儿童陪伴机器人RK2 Pro EP遥控编程机器人脑力开发简易编程
¥319.00
火火兔早教机儿歌播放器磨耳朵婴儿启蒙益智机器人儿童智能故事机
¥1916.00
小度智能学习平板G20智能屏2023新款学生专用G16儿童机器人护眼s20学习机一年级到高中网课早教机平板电脑