首页开发教程GPU运行Linux Ollama模型详细教程

GPU运行Linux Ollama模型详细教程

2025-07-10 1,470

站长百科将详细介绍两种实现方式:直接安装Ollama并配置GPU支持,以及通过Docker容器部署Ollama并调用GPU,解决过程中可能遇到的GPU无法使用的问题,帮你一步步实现模型在GPU上的高效运行。

一、安装Ollama

安装Ollama只需要一条命令就能完成(如果下载速度慢,可以找合适的镜像源):

curl -fsSL https://ollama.com/install.sh | sh

安装完成后,可以随便安装一个模型来测试一下,比如:

GPU运行Linux Ollama模型详细教程

二、测试Ollama

接下来需要判断Ollama是否真的在使用GPU运行。虽然从模型的运行速度上能大概看出来,但还有更准确的判断方法:

查看Ollama配置:在Ollama的配置中,如果显示 “使用100%的GPU”,说明Ollama默认是打算用GPU的,但这并不能完全证明它真的在使用GPU。

GPU运行Linux Ollama模型详细教程

通过 nvidia-smi 查看:这是最直接的方法。在模型运行时,打开终端输入以下命令(每秒刷新一次显卡信息):

nvidia-smi -l 1

如果显示中显卡的利用率和功耗都处于较高状态,那就说明Ollama确实在使用GPU运行了,这时候恭喜你安装成功。

如果发现Ollama没有使用GPU,应该是初始化GPU时出现了问题。可以按以下方法排查解决:

1、尝试重装Ollama:有时候因为网络问题,Ollama可能无法正常加载GPU相关组件。可以使用Gitee等国内镜像源重新安装,安装前可以先运行ollama serve查看具体的错误信息,方便定位问题。

GPU运行Linux Ollama模型详细教程

2、参考官方解决方案:官方针对GPU无法使用的问题提供了一些解决方法,其中一个常用方案是重新加载 nvidia_uvm 模块(这也是很多用户实践有效的方法)。

3、处理nvidia_uvm模块问题:官方提到,Ollama挂起后再次运行,可能会出现找不到Nvidia GPU、转而使用CPU的情况。这时候可以尝试重新加载驱动模块:

sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm

但如果是桌面版Linux系统,可能会提示 “nvidia_uvm 正在使用中”,这时候需要先关闭使用该模块的进程:

  • 用nvidia-smi查看正在使用显卡的进程;
  • 关闭这些进程(kill 进程ID);
  • 不过要注意,桌面版系统中有些进程关闭后会自动重启,可能导致无法顺利重载模块。如果是服务器版本的Linux,通常不会有这个问题。

GPU运行Linux Ollama模型详细教程

三、Docker容器安装Ollama

如果上面的方法都无法解决问题,或者你更习惯用容器化方式运行,可以试试用Docker安装,步骤如下:

1、准备工作

用容器运行Ollama并使用GPU,需要先安装Docker和NVIDIA Container Toolkit(让容器支持GPU调用)。

优化网络(可选):如果安装模型或工具时速度很慢,可以尝试把DNS换成阿里公共DNS(223.5.5.5),改完后重启系统,可能会提升下载速度。

2、安装Docker

先删除系统中可能已有的旧版本Docker相关组件:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

添加Docker官方GPG密钥:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

将Docker仓库添加到APT源:

echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装Docker组件:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

(可选)配置镜像加速器:如果拉取镜像慢,可以参考华为云等平台的 “设置镜像加速器” 文档(需要实名认证),能大幅提升下载速度。

安装NVIDIA Container Toolkit:这是让Docker容器能使用GPU的关键组件,安装前要确保已经安装好NVIDIA显卡驱动。

配置包仓库:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg –dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed ‘s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g’ | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

更新包列表:

sudo apt-get update

安装工具包:

sudo apt-get install -y nvidia-container-toolkit

配置Docker运行时:

sudo nvidia-ctk runtime configure –runtime=docker

重启Docker服务:

sudo systemctl restart docker

四、用容器部署Ollama到GPU上

在开始之前,要确保主机上已安装的Ollama服务已经关闭,否则会出现端口占用的问题。如果需要同时使用,就得更换端口号,并在后续命令中做相应修改。

检查并关闭Ollama进程:

# 查看是否有Ollama进程在运行
ps -A | grep ollama
# 比如显示 “1321 ? 00:02:50 ollama”,就用下面的命令关闭
sudo kill 1321

部署容器:输入以下命令即可部署:

docker run -d –gpus=all -v ./ollama:/root/.ollama -p 11434:11434 –name ollama ollama/ollama

这个命令的各部分含义:

  • –gpus=all:使用所有可用的GPU;
  • -v ./ollama:/root/.ollama:将当前目录下的ollama文件夹挂载到容器的/root/.ollama目录,这样可以实现文件共享(比如 Llama3.2-Vision 需要用到的图片)。选择/root/.ollama是因为这是 Ollama 存放模型的地方,这样即使删除重装容器,也不用重新下载模型;
  • -p 11434:11434:将容器的 11434 端口映射到主机的 11434 端口(11434 是 Ollama 的默认端口);
  • –name ollama:给容器命名为 “ollama”;
  • ollama/ollama:使用的镜像名称。

进入容器使用Ollama:输入以下命令进入容器:

sudo docker exec -it ollama /bin/bash

用容器方式运行时不用担心性能损耗因为 Docker和传统虚拟机不同,它是基于主机系统运行的。从nvidia-smi的显示中可以看到,显卡利用率和功耗都能达到较高水平,说明GPU在正常工作。

GPU运行Linux Ollama模型详细教程

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章