如何在WSL2中让Ollama仅使用NVIDIA GPU加速运行?
解决WSL2 Ubuntu 24.04中Ollama无法启用NVIDIA CUDA加速的问题
1. 修复Ollama配置文件格式错误
你之前修改~/.ollama/config.yaml时将use_cuda: true与num_threads: 1写在同一行,不符合YAML格式规范,会导致配置失效。正确格式应为:
use_cuda: true num_threads: 1
修改后重启Ollama服务:
sudo systemctl restart ollama
2. 确保环境变量被Ollama服务进程读取
用户~/.bashrc中的环境变量不会被systemd管理的Ollama服务默认加载,需直接在服务配置中添加:
- 创建并编辑环境配置文件:
sudo nano /etc/systemd/system/ollama.service.d/environment.conf
- 添加以下内容:
[Service] Environment="CUDA_VISIBLE_DEVICES=0" Environment="OLLAMA_USE_CUDA=1" Environment="OLLAMA_NUM_THREADS=1"
- 重新加载systemd并重启服务:
sudo systemctl daemon-reload sudo systemctl restart ollama
3. 验证WSL2的CUDA环境实际可用
虽然nvcc --version和nvidia-smi显示正常,仍需验证CUDA可实际运行:
- 编译并运行CUDA示例程序:
sudo apt install nvidia-cuda-toolkit cd /usr/local/cuda/samples/1_Utilities/deviceQuery make ./deviceQuery
若输出显示Result = PASS,说明CUDA环境正常;若失败,需更新WSL2版本:在Windows PowerShell中执行wsl --update。
4. 检查Ollama日志中的CUDA加载状态
查看Ollama启动日志,确认是否存在CUDA相关错误:
journalctl -u ollama -f
启动后若日志出现CUDA not available,说明Ollama未识别CUDA环境;若显示Using CUDA,则CUDA已启用。
5. 确认模型对GPU加速的支持
部分小参数模型(如deepseek-r1:1.5b)可能默认使用CPU,可切换至明确支持GPU的模型(如llama3:8b)测试是否正常调用GPU。
内容的提问来源于stack exchange,提问作者joe_rasa
相关产品推荐
相关产品推荐

