Ubuntu 24.04.2 LTS 部署 Ollama + NVIDIA CUDA 完整指南

本教程假设你使用的是 NVIDIA 显卡,并希望 Ollama 能利用 GPU 加速推理。我们将按以下顺序操作:

  1. 安装 NVIDIA 驱动与 CUDA Toolkit
  2. 手工部署 Ollama(已自动启用 NVIDIA GPU 支持)
  3. 将 Ollama 配置为系统服务
  4. (补充)AMD GPU 或 ARM 架构的额外说明

第一部分:安装 NVIDIA 驱动与 CUDA(为 GPU 加速做准备)

1. 检查硬件并更新系统

lspci | grep -i nvidia          # 确认 NVIDIA 显卡存在
sudo apt update
sudo apt install -y gcc make linux-headers-$(uname -r)

2. 安装 NVIDIA 显卡驱动(使用 Ubuntu 自动推荐)

sudo apt install -y ubuntu-drivers-common
sudo ubuntu-drivers autoinstall   # 自动安装最适合的驱动

3. 安装 CUDA Toolkit(通过 NVIDIA 官方 APT 仓库)

# 添加 NVIDIA 仓库密钥
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

# 安装 CUDA Toolkit
sudo apt update
sudo apt install -y cuda-toolkit

4. 重启并配置环境变量

sudo reboot

重启后,编辑 ~/.bashrc,在末尾添加:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

使配置生效:

source ~/.bashrc

5. 验证安装

nvidia-smi          # 应显示驱动版本和 CUDA 版本
nvcc --version      # 应显示 CUDA 编译器版本

第二部分:手工部署 Ollama(NVIDIA GPU 已就绪)

说明:由于我们已经安装了完整的 CUDA 环境,Ollama 将自动识别并使用 NVIDIA GPU,无需额外配置。

1. 下载 Ollama 二进制包(约 1.8 GB)

# 使用 curl 直接下载并解压(推荐)
curl -fsSL https://ollama.com/download/ollama-linux-amd64.tar.zst | sudo tar x -C /usr

或先下载再解压:

wget https://ollama.com/download/ollama-linux-amd64.tar.zst
sudo tar xf ollama-linux-amd64.tar.zst -C /usr

2. 测试 Ollama 是否可运行

ollama serve &      # 后台启动测试
ollama -v           # 应显示版本号

测试无误后,用 pkill ollama 停止测试进程,进入下一步。


第三部分:将 Ollama 配置为系统服务(推荐)

1. 创建专用用户与组

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

2. 创建 systemd 服务文件

创建 /etc/systemd/system/ollama.service,内容如下(可根据实际 GPU 数量修改环境变量):

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="OLLAMA_MODELS=/data1/ollama"          # 模型存储目录,请按需修改
Environment="CUDA_VISIBLE_DEVICES=0"               # 使用第一张 GPU,多卡可写 0,1
Environment="OLLAMA_NUM_GPU=1"                     # 使用的 GPU 数量,与上面保持一致
Environment="OLLAMA_GPU_LAYER=cuda"
Environment="OLLAMA_SCHED_SPREAD=1"

[Install]
WantedBy=default.target

提示:如果你有多张 GPU,将 CUDA_VISIBLE_DEVICES=0,1OLLAMA_NUM_GPU=2

3. 启动并启用服务

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama
sudo systemctl status ollama   # 检查状态应为 active (running)

4. 查看实时日志

journalctl -e -u ollama -f

第四部分:验证 GPU 加速是否生效

拉取并运行一个模型,观察 GPU 使用情况:

ollama run llama3.2   # 会自动下载模型

在另一个终端执行:

nvidia-smi

如果看到 ollama 进程占用了 GPU 显存和计算资源,说明加速成功。


第五部分:(补充)AMD GPU 或 ARM64 架构的额外说明

如果你使用的是 AMD GPUARM64 架构,请在完成第一部分(跳过 NVIDIA 驱动安装)后,按以下方式安装 Ollama:

  • AMD GPU:需使用带 ROCm 支持的包
    curl -fsSL https://ollama.com/download/ollama-linux-amd64-rocm.tar.zst | sudo tar x -C /usr
    
  • ARM64 架构:使用专用包
    curl -fsSL https://ollama.com/download/ollama-linux-arm64.tar.zst | sudo tar x -C /usr
    

其余服务配置步骤(第三部分)完全相同,只需注意在服务文件中移除 CUDA_VISIBLE_DEVICES 等 NVIDIA 专属变量即可。


第六部分:常用维护操作

修改服务配置

sudo systemctl edit ollama   # 添加或覆盖环境变量
sudo systemctl restart ollama

更新 Ollama 版本

重新下载最新包并覆盖解压:

curl -fsSL https://ollama.com/download/ollama-linux-amd64.tar.zst | sudo tar x -C /usr
sudo systemctl restart ollama

完全卸载 Ollama

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm $(which ollama)
sudo rm -r /usr/lib/ollama
sudo userdel ollama
sudo groupdel ollama
sudo rm -r /usr/share/ollama          # 用户数据目录
sudo rm -r /data1/ollama              # 模型存储目录(请确认路径)
Logo

免费领 100 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐