1. 为什么需要将ollama安装到非C盘?
对于大多数Windows用户来说,C盘空间总是捉襟见肘。特别是当你准备部署ollama这类大模型时,动辄几十GB的模型文件会让系统盘瞬间爆满。我最近在帮同事部署ollama时,就遇到了C盘剩余空间不足导致安装失败的典型案例。
大模型本地部署通常需要三个关键空间占用项:
- ollama主程序:约500MB
- 基础模型文件:7B参数模型约4GB,13B参数模型约8GB
- 运行时的临时文件:根据模型大小会有1-2GB波动
如果你选择安装Llama2-70B这样的超大模型,光是模型权重文件就可能超过40GB。更糟糕的是,ollama默认会将所有模型下载到C:\Users\<用户名>\.ollama目录下,这对系统盘简直是灾难性的。
重要提示:即使你手动修改了ollama安装路径,模型下载目录仍会默认指向用户目录。这需要额外的配置才能更改,后文会详细说明。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装前的准备工作
2.1 硬件需求评估
在开始安装前,建议先检查你的硬件配置是否满足大模型运行需求:
| 模型规模 | 最低RAM | 推荐RAM | 显存需求 | 磁盘空间 |
|---|---|---|---|---|
| 7B参数 | 8GB | 16GB | 6GB | 10GB |
| 13B参数 | 16GB | 32GB | 10GB | 20GB |
| 70B参数 | 64GB | 128GB | 48GB | 100GB |
如果你的设备显存不足,ollama会自动回退到CPU模式运行,但推理速度会显著下降。我曾在一台只有6GB显存的游戏本上测试13B模型,token生成速度从30token/s降到不足5token/s。
2.2 磁盘空间规划
假设你准备安装13B参数的模型,建议至少准备以下空间:
- D盘或E盘:50GB以上可用空间(用于安装程序和存储模型)
- C盘:保留至少10GB剩余空间(用于系统临时文件)
我推荐使用如下目录结构:
code复制D:\AI_Models
├── ollama # 主程序安装目录
├── ollama_models # 模型存储目录
└── temp # 临时文件目录
2.3 下载官方安装包
访问ollama官网时,国内用户可能会遇到下载速度极慢的问题。这里分享几个实测有效的解决方案:
-
使用国内镜像源下载:
bash复制# Windows x64版本 curl -O https://mirrors.aliyun.com/ollama/ollama-windows-amd64.exe # Linux版本 wget https://mirrors.ustc.edu.cn/ollama/ollama-linux-amd64 -
如果镜像源不可用,可以尝试通过迅雷等下载工具获取,这类工具通常有更好的资源调度能力。
3. 自定义安装到非系统盘
3.1 Windows系统安装步骤
-
运行安装程序时,不要直接点击"快速安装",而是选择"自定义安装":
code复制安装位置:D:\AI_Models\ollama -
安装完成后,需要修改环境变量:
powershell复制[Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "D:\AI_Models\ollama_models", "User") -
修改ollama配置文件(如果不存在则新建):
bash复制# 文件位置:C:\Users\<用户名>\.ollama\config.json { "model_dir": "D:\\AI_Models\\ollama_models", "cache_dir": "D:\\AI_Models\\temp" }
3.2 Linux系统安装方案
对于Linux用户,建议使用以下命令安装:
bash复制# 下载安装包
wget https://ollama.ai/download/ollama-linux-amd64 -O /opt/ollama
# 设置可执行权限
chmod +x /opt/ollama
# 创建符号链接
ln -s /opt/ollama /usr/local/bin/ollama
# 设置模型存储目录
export OLLAMA_MODELS=/mnt/data/ollama_models
echo 'export OLLAMA_MODELS=/mnt/data/ollama_models' >> ~/.bashrc
4. 模型下载与加速技巧
4.1 国内镜像源配置
由于ollama默认从海外服务器下载模型,国内用户经常会遇到下载速度慢或失败的问题。可以通过以下方式配置镜像源:
-
临时使用镜像源(每次运行前设置):
bash复制export OLLAMA_HOST=https://mirrors.aliyun.com/ollama ollama pull llama2:13b -
永久配置镜像源:
bash复制# Windows在环境变量中添加: OLLAMA_HOST=https://mirrors.aliyun.com/ollama # Linux在~/.bashrc中添加: echo 'export OLLAMA_HOST=https://mirrors.aliyun.com/ollama' >> ~/.bashrc
4.2 断点续传与手动导入
对于超大模型下载,建议使用screen或tmux保持会话,避免网络中断导致前功尽弃。如果下载确实困难,还可以尝试:
-
从其他设备下载后手动传输:
bash复制# 在已完成的设备上打包模型 tar -czvf llama2-13b.tar.gz ~/.ollama/models/blobs/sha256-* # 在新设备上导入 ollama import llama2-13b.tar.gz -
使用第三方下载工具获取模型文件后,放置到正确的目录结构下。
5. 常见问题排查
5.1 安装后无法启动
如果安装完成后运行ollama命令无响应,可能是以下原因:
-
服务未正确启动:
powershell复制# Windows检查服务状态 Get-Service ollama # Linux检查进程 systemctl status ollama -
端口冲突(ollama默认使用11434端口):
bash复制netstat -ano | findstr 11434 # Windows ss -tulnp | grep 11434 # Linux
5.2 模型加载失败
当看到"Error loading model"提示时,可以:
-
检查磁盘空间:
bash复制df -h # Linux fsutil volume diskfree D: # Windows -
验证模型完整性:
bash复制ollama ps # 查看运行中的模型 ollama rm llama2:13b # 删除损坏的模型 ollama pull llama2:13b # 重新下载
5.3 性能优化建议
-
对于CPU模式运行的用户,可以设置线程数:
bash复制export OLLAMA_NUM_PARALLEL=8 # 根据CPU核心数调整 -
如果使用NVIDIA显卡但ollama没有检测到,可能需要手动指定:
bash复制export CUDA_VISIBLE_DEVICES=0 # 使用第一块GPU -
内存不足时可以启用内存交换(但会降低性能):
bash复制export OLLAMA_KEEP_ALIVE=-1 # 允许使用swap
6. 进阶使用技巧
6.1 多模型管理
当你在非C盘安装了多个模型后,可以使用以下命令高效管理:
bash复制# 列出所有模型
ollama list
# 复制模型到另一台设备
ollama create mycopy -f Modelfile # 先创建Modelfile
ollama push mycopy # 导出到仓库
# 删除旧模型释放空间
ollama rm old-model
6.2 与开发工具集成
ollama可以很好地与常见开发工具配合使用:
-
VSCode集成:
安装"Ollama"扩展后,在settings.json中添加:json复制{ "ollama.server": "http://localhost:11434", "ollama.model": "llama2:13b" } -
通过API调用:
python复制import requests response = requests.post( "http://localhost:11434/api/generate", json={"model": "llama2:13b", "prompt": "解释量子力学"} )
6.3 模型微调实战
如果你想在本地微调模型,需要额外准备:
- 准备训练数据(至少几百MB的文本)
- 确保有足够的磁盘空间(原始模型大小的2-3倍)
- 使用以下命令开始微调:
bash复制ollama create mymodel -f ./Modelfile # 创建配置文件 ollama train mymodel # 开始训练
典型的Modelfile内容示例:
code复制FROM llama2:13b
PARAMETER num_epochs 3
PARAMETER learning_rate 0.0001
ADAPTER ./my_data.json
我在实际使用中发现,微调13B模型需要至少32GB内存和24GB显存才能流畅运行。如果资源不足,可以考虑使用7B模型或租用云服务器完成微调后再导回本地。
