自己同一台电脑主机安装3080和3090显卡,测试发现ollama只默认跑在3090上;故查看一下设置,成功也把3080也运行起来了。
原因如下:
开始设置记录:
Environment Variables:
OLLAMA_DEBUG
作用:显示额外的调试信息。
示例:export OLLAMA_DEBUG=1
OLLAMA_HOST
作用:指定 ollama 服务器的 IP 地址和端口(默认为 127.0.0.1:11434)。
示例:export OLLAMA_HOST=0.0.0.0:8080
OLLAMA_KEEP_ALIVE
作用:设置模型在内存中保持加载的时间(默认为 5m)。
示例:export OLLAMA_KEEP_ALIVE="10m"
OLLAMA_MAX_LOADED_MODELS
作用:指定每个 GPU 上可以同时加载的最大模型数。
OLLAMA_MAX_QUEUE
作用:设置允许排队的最大请求数量。
OLLAMA_MODELS
作用:指定存储模型的目录路径。
OLLAMA_NUM_PARALLEL
作用:设置允许同时处理的最大并行请求数量。
OLLAMA_NOPRUNE
作用:禁用启动时清理模型 blob 文件的功能。
OLLAMA_ORIGINS
作用:指定允许的跨域请求来源(以逗号分隔)。
示例:export OLLAMA_ORIGINS="http://example.com,https://localhost"
OLLAMA_SCHED_SPREAD
作用:强制将模型均匀分配到所有 GPU 上。
OLLAMA_FLASH_ATTENTION
作用:启用 Flash Attention(加速注意力机制)。
OLLAMA_KV_CACHE_TYPE
作用:设置 K/ V 缓存的量化类型(默认为 f16)。
示例:export OLLAMA_KV_CACHE_TYPE="q4_0"
OLLAMA_LLM_LIBRARY
作用:指定 LLM 库以绕过自动检测。
OLLAMA_GPU_OVERHEAD
作用:为每个 GPU 预留一部分 VRAM(以字节为单位)。
OLLAMA_LOAD_TIMEOUT
作用:设置模型加载的最大等待时间(默认为 5m)。
示例:export OLLAMA_LOAD_TIMEOUT="10m"

自己按照自己需求设置
(phi) root@cl-System-Product-Name:/home/cl/桌面/临床数据# cat /etc/systemd/system/ollama.service
[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:/usr/games:/usr/local/games:/snap/bin"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
Environment="CUDA_VISIBLE_DEVICES=0,1"
Environment="OLLAMA_SCHED_SPREAD=true"
DeviceAllow=gpu/*
[Install]
WantedBy=default.target

systemctl daemon-reload
systemctl restart ollama.service
确保ollama服务正常运行
systemctl status ollama.service