很多开发者习惯把软件默认安装到C盘,但对于大语言模型这种"硬盘杀手"来说,这往往是个糟糕的选择。我上周帮同事处理一台C盘爆满的开发机,发现他装的7B模型就占了30多GB空间——这还只是基础版本。如果你后续要跑更大的模型或者同时加载多个模型,C盘那点空间根本不够看。
另一个关键原因是性能。系统盘通常承担着操作系统和各类软件的IO压力,把大模型这种需要频繁读取权重文件的应用放在这里,很容易造成磁盘队列堆积。实测显示,将ollama安装在独立SSD上时,模型加载速度能提升15%-20%。
建议准备至少满足以下条件的存储设备:
注意:机械硬盘虽然便宜,但模型加载时间可能延长3-5倍,严重影响使用体验
确认系统已安装:
D:\AI\ollama安装完成后需要手动设置:
bash复制setx OLLAMA_MODELS "D:\AI\ollama\models"
setx PATH "%PATH%;D:\AI\ollama\bin"
重启终端使配置生效,验证命令:
bash复制echo %OLLAMA_MODELS%
如果之前已经安装在C盘,可以通过符号链接迁移:
bash复制mklink /J "C:\Users\你的用户名\.ollama" "D:\AI\ollama\data"
然后手动复制原目录内容到新位置。
运行拉取命令时显式声明路径:
bash复制ollama pull llama2 --path D:\AI\ollama\models
建议按用途分类存储:
code复制D:\AI\ollama\
├── models
│ ├── general (通用模型)
│ ├── coding (代码专用)
│ └── experimental (实验性模型)
└── temp (临时下载缓存)
创建定期清理脚本cleanup.bat:
bash复制@echo off
for /d %%i in ("D:\AI\ollama\temp\*") do (
robocopy "%%i" "NUL" /mir >nul 2>&1 && rmdir "%%i"
)
症状:
code复制Error: permission denied while trying to create...
解决方法:
可能原因:
排查命令:
bash复制ollama list --verbose
编辑%USERPROFILE%\.wslconfig:
ini复制[wsl2]
memory=8GB
swap=0
localhostForwarding=true
kernelCommandLine=syscache.mode=readonly
在D:\AI\ollama\config.json中添加:
json复制{
"storage": {
"mmap": true,
"preload": false
}
}
这项设置能让模型加载时减少30%内存占用。
如果有多个数据盘,可以配置软RAID0:
powershell复制New-VirtualDisk -FriendlyName "OllamaPool" -StoragePoolFriendlyName "SSD_Pool" -UseMaximumSize -ResiliencySettingName Simple
使用robocopy创建增量备份任务:
bash复制robocopy D:\AI\ollama Z:\backup\ollama /MIR /R:1 /W:1 /LOG+:D:\backup.log
经过这样配置后,我的ollama环境在D盘运行稳定,即使同时加载13B模型和7B代码模型,磁盘IO延迟也能保持在5ms以下。最关键的是再也不用担心C盘突然变红影响系统稳定性了。