现状
在二卡机上安装了 dify + ollama + deepseek + stable-diffusion,如果同时运行会提示 OutOfMemoryError: CUDA out of memory. Tried to allocate 74.00 MiB. GPU
,在服务器上运行 nvidia-smi -l
明显能看到 gpu 打满了,主要是 stable-diffusion 和 ollama 都会占用 GPU 产生冲突,于是决定将两者使用的GPU分开
ollama 修改环境变量步骤
实际上,直接搜索 ollama 指定 gpu
,还是能搜到几个博文的,主要参考如下:
https://www.cnblogs.com/hujunwei/p/18706538
Ollama 自定义在 GPU 中运行
这两篇博文描写得非常详细,我这里直接登录服务器,修改 /etc/systemd/system/ollama.service
文件内容,增加一行 Environment="CUDA_VISIBLE_DEVICES=1"
,修改后如下:
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "OLLAMA_HOST=0.0.0.0:11434"
Environment="CUDA_VISIBLE_DEVICES=1"
Environment="OLLAMA_MODELS=/mnt/data/ollama/models"
[Install]
WantedBy=default.target
保存后执行命令即可生效
sudo systemctl daemon-reload
sudo systemctl restart ollama
详见 https://ollama.com/install.sh