Ollama运行DeepSeek模型时磁盘空间充足仍报错问题咨询
Ollama下载DeepSeek大模型提示磁盘空间不足的原因与解决办法
可能的原因
- 空间检查逻辑误判:Ollama在下载前会读取模型清单中的原始未量化参数大小(而非实际要下载的量化版大小)来判断空间是否足够。比如DeepSeek-r1 32b的FP16原始大小为64GiB,若你的磁盘可用空间仅50GB(约46GiB),Ollama会直接判定空间不足,即使实际量化后的模型仅20GiB左右。
- 临时文件叠加占用:Ollama下载时会先生成
-partial临时文件,完成后再合并为最终文件。大模型的临时文件与最终文件短暂共存时,会瞬间占用双倍空间,若你的可用空间刚好卡临界值,就会触发报错。 - 磁盘单位计算差异:部分工具显示的空间是以1000MB=1GB的十进制单位,而Ollama采用1024MB=1GiB的二进制单位。50GB实际约为46GiB,若模型实际需求接近这个数值,就会提示空间不足。
- NTFS系统预留空间:NTFS磁盘默认会预留10%左右的空间给系统使用,这部分空间用户无法直接使用。若你的D盘总容量较小,预留空间可能占去不少,导致实际可用空间低于显示值。
解决办法
- 手动导入模型文件
- 找到DeepSeek-r1对应版本的模型blob文件哈希值,手动下载所需文件。
- 将下载好的文件放到
D:\ollama\models\blobs目录(文件名需与哈希值完全一致,无需后缀)。 - 创建
Modelfile文件,内容示例:FROM sha256-xxxxxxxxx(替换为模型主文件的哈希值) PARAMETER temperature 0.7 - 运行命令
ollama create deepseek-r1:32b -f Modelfile完成模型创建,之后即可用ollama run deepseek-r1:32b启动。
- 调整NTFS预留空间
以管理员权限打开命令提示符,执行命令:
该命令将D盘的系统预留空间设置为1GB(可根据需求调整数值),释放更多可用空间。fsutil behavior set reservedsize D: 1048576 - 清理缓存与临时文件
删除D:\ollama\models\blobs目录下所有带-partial后缀的临时文件,释放之前下载失败占用的空间。 - 更换模型存储路径
设置环境变量OLLAMA_MODELS为更大磁盘的路径(如E:\ollama\models),重启Ollama服务后,新模型会下载到该路径。 - 确认实际可用空间
打开命令提示符,执行dir D:,查看“可用字节数”,将其除以1024*1024*1024得到实际可用GiB值,确认是否满足模型实际占用需求。
内容的提问来源于stack exchange,提问作者louislugas
相关产品推荐
相关产品推荐

